Typescript 错误作为警告

标签 typescript ecmascript-6

我在编写基本的 javascript ES2015 函数时遇到 typescript 错误。例如由于没有在任何地方声明类型,我收到以下错误:

src\app\component.ts(44,18): error TS7006: Parameter 'a' implicitly has an 'any' type.

src\app\component.ts(44,21): error TS7006: Parameter 'b' implicitly has an 'any' type.

src\app\component.ts(45,20): error TS7006: Parameter 'p' implicitly has an 'any' type.

src\app\component.ts(45,23): error TS7006: Parameter 'n' implicitly has an 'any' type.

问题”函数是一个像这样的 ES2015 函数:

this.filters = this.items
  .map(x => x.someProperty)
  .reduce((p,n) => p.concat(n), [])
  .sort((a, b) => {/* sort someway */})
  .reduce((p, n) => {/* do something */}, [])

我喜欢这个函数的可读性,我知道它工作得很好。如果我必须在任何地方添加类型,它就违背了使用更简洁语法的目的。

我知道 Typescript 是 ES2015 的超集,但我写的所有内容都报告为错误(不是警告),除非我指定每一个类型。这有点烦人,而且出于某种原因,这些错误会使我的编译器崩溃。

话虽这么说。我确实喜欢用强类型编写新代码,也喜欢收到警告。只是一些功能中的一些关闭检查会很好。

是否可以声明一个忽略规则的函数,或者我是否必须以这种方式重写我的所有 JavaScript?

最佳答案

尝试在 tsconfig 编译器选项中设置 "noImplicitAny": false:

{ 
     "compilerOptions": { 
         "noImplicitAny": false
     }
} 

关于Typescript 错误作为警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36352687/

相关文章:

javascript - 将相同的函数两次添加到具有不同名称的 Javascript 类中

javascript - 如何在 NestJS 过滤器中使用 @Catch() 接口(interface)

visual-studio - TypeScript 重构在 VS 2013 RC2 中停止工作

javascript - 使用循环在 react 中创建元素

javascript - 原型(prototype)继承和instanceof

javascript - 如何使用 babel 编译用 es6 编写的 React 文件?

javascript - 有没有办法在 TypeScript 中组合类混合?

typescript - 如何在 typescript 中将方法分配给变量?

typescript - 为接口(interface)的 getter/setter 禁用 `@typescript-eslint/explicit-member-accessibility`

javascript - 使用 ES6 语法导入类失败