chr*_*lly 4 typescript ecmascript-6
在编写基本的javascript ES2015函数时,我在打字稿中遇到错误.例如,由于未在任何地方声明类型,我收到以下错误:
src\app\component.ts(44,18):错误TS7006:参数'a'隐式具有'any'类型.
src\app\component.ts(43,41):错误TS7006:参数'b'隐式具有'any'类型.
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 */}, [])
Run Code Online (Sandbox Code Playgroud)
我喜欢这个函数的可读性,我知道它的工作正常.如果我必须在任何地方添加类型,它就会失去使用terser语法的目的.
我明白Typescript是ES2015的超集,但我写的所有内容都报告为错误(不是警告),除非我指定每一种类型.它有点烦人,由于某种原因,错误导致我的编译器崩溃.
话虽如此.我喜欢用强类型编写新代码,我喜欢收到警告.在一些函数中只有一些关闭检查会很好.
有没有声明一个忽略规则的函数或者我必须以这种方式重写我的所有JavaScript?
尝试在tsconfig编译器选项中设置"noImplicitAny":false:
{
"compilerOptions": {
"noImplicitAny": false
}
}
Run Code Online (Sandbox Code Playgroud)