joken-前端工程师

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::

1. @ts-ignore

  • 用途:忽略下一行代码中的所有类型错误。

  • 示例

    // @ts-ignore
    const value: string = 123; // 不会报错
    
  • 注意:使用此指令时不需要提供描述,然而,滥用可能会隐藏潜在的错误。

2. @ts-nocheck

  • 用途:在整个文件中禁用 TypeScript 类型检查。

  • 示例

    // @ts-nocheck
    const value: string = 123; // 此文件内所有类型检查将被忽略
    
  • 注意:通常不推荐使用,因为它会阻止整个文件的类型检查。

3. @ts-check

  • 用途:在 JavaScript 文件中启用类型检查。

  • 示例

    // @ts-check
    const value = 123; // 会进行类型检查
    
  • 注意:此指令通常用于 JavaScript 文件,以便启用类型检查。

4. @ts-expect-error

  • 用途:与 @ts-expect-error 类似,允许在代码中出现类型错误,但要求提供描述。
  • 示例
    // @ts-expect-error: 这里的类型不匹配,待修复
    const value: string = 123; 
    

ESLint 配置示例

你可以通过 ESLint 配置来管理这些注释的使用:

{
  "rules": {
    "@typescript-eslint/ban-ts-comment": [
      "error",
      {
        "ts-ignore": false, //禁止ts-ignore
        "ts-expect-error": { "description": true },
        "ts-nocheck": false,
        "ts-check": false
      }
    ]
  }
}

使用示例

@ts-expect-error 推荐使用这个,但是需要注释,比较规范
image

总结

这些注释指令提供了灵活性,允许开发者在特定情况下绕过类型检查。然而,建议尽量减少使用,并提供适当的描述,以便于代码的可维护性和可理解性。

posted on 2024-10-13 13:53  joken1310  阅读(75)  评论(0编辑  收藏  举报