我运行一个只有一个名为iterator的类的小项目,如下所示:
Iterator.class.ts
export class Iterator {
private itr: any;
private opt: any;
private keys: any;
private type: string;
constructor(iterable, options) {
this.itr = iterable;
this.opt = options;
this.keys = [];
this.prepare();
}
private prepare() {
this.type = this.itr.constructor.name.toLowerCase().trim();
if (['array', 'object'].includes(this.type)) {
this.keys = Object.keys(this.itr);
}
}
}
我还在项目中使用-g标志和local安装了typescript。但每当我尝试将我的iterator.class.ts文件编译成js文件时,我面临以下错误:
iterator.class.ts(18,29):错误TS2339:属性'包括'类型'字符串[]'
这是我的tsconfig.json文件,我安装了我在此文件中提到的所有要求,如:
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"moduleResolution": "node",
"lib": ["es2016", "dom"],
"typeRoots" : ["./node_modules/@types"],
"types": ["node"]
}
}
我尝试全局安装的打字稿和本地打字稿,每次我都提到了我提到的错误! 我还将目标更改为es2016和es2017并添加" es2016.array.includes"在tsconfig.js中的lib但结果没有任何改变。我搜索了关于打字稿和非解决方案的问题,我没有为我工作!
操作系统:Ubuntu 16.04 LTS
NODE:v8.2.1
npm:v5.3.0
打字稿:v2.4.2和2.2.2