最佳答案
我正在开发一个 ng2实现,我使用以下函数调用将一个对象转换为一个数组:
var authors = Object.entries(responseObject.Authors);
这是一个标准的 js 函数,但是,ts 编译器返回以下错误:
"Property 'entries' does not exist on type 'ObjectConstructor'"
基于一个快速谷歌似乎是解决方案可能是更改了编译器选项目标属性从 es5到 es6。然而,在对之前的问题进行了一些研究之后,我认为我可以通过在 tsconfig.json 中包含额外的“ lib”属性来利用 es6功能:
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"module": "commonjs",
"noEmitOnError": true,
"noImplicitAny": false,
"outDir": "../Scripts/",
"removeComments": false,
"sourceMap": true,
"target": "es5",
"moduleResolution": "node",
"lib": [
"es2015",
"dom"
]
}
我还尝试将目标属性更改为 es2015,然后重新构建项目并执行“ typeescriptUsingTsConfig”,但仍然得到相同的错误。知道我在这里可以做些什么来利用 Object.entries()
功能吗?