我试图在使用JavaScript数组实验特性时编译Angular 2应用程序,比如
flat()
.
我又加了一句
esnext.array
选择
tsconfig.json
,所以
lib
部分如下所示:
"lib": [
"es2017",
"esnext.array",
"dom"
],
我查过了
lib.esnext.array.d.ts
它确实包含了
平面()
方法。
但尽管如此,我还是得到了一个编译错误:
src/app/services/service.ts中的错误(286,22):错误TS2339:属性
“Read”不存在于“RealOnLyPAP[]”类型。
更新1:
我查过了
esnext
导致相同错误的选项。
另外,我检查了Angular CLI
图书馆
通过键入一些不存在的选项
esnext.array.dfgdfg
.
更新2:
为了排除TypeScript版本2.9.2或角度工具链出错的可能性,我使用纯TypeScript创建了一个简单的项目:
function greeter(persons: string[]) {
return "Hello, " + persons.flat().join();
}
var user: string[] = ["Jane User"];
document.body.innerHTML = greeter(user);
{
"compilerOptions": {
"target": "esnext",
"lib": [
"es2017",
"esnext.array",
"dom"
]
}
}
并试图用TypsScript 2.9.2、当前最新的3.0.1和
typescript@next
,但我总是得到相同的错误:
TS:2 32 -错误TS23 39:属性“平坦”不存在于类型上
“字符串[]”。
2返回“你好,”+persons.flat().join();
~~~~
有人能解释一下我遗漏了什么吗?