打字稿错误作为警告

时间:2016-04-01 09:29:00

标签: typescript ecmascript-6

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

  

src \ app \ component.ts(44,18):错误TS7006:参数'a'隐式具有'any'类型。

     

src \ app \ component.ts(43,41):错误   TS7006:参数'b'隐式具有'任意'类型。

     

src \ app \ component.ts(45,20):错误   TS7006:参数'p'隐式具有'any'类型。

     

src \ app \ component.ts(45,23):错误   TS7006:参数'n'隐式具有'any'类型。

'问题'函数是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 */}, [])

我喜欢这个函数的可读性,我知道它的工作正常。如果我必须在任何地方添加类型,它就会失去使用terser语法的目的。

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

话虽如此。我喜欢用强类型编写新代码,我喜欢收到警告。在某些功能中只需要关闭支票就可以了。

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

1 个答案:

答案 0 :(得分:7)

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

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