我正在處理ng2實現。我使用以下函數調用將對象轉換爲數組:屬性「條目」不存在類型'ObjectConstructor'
var authors = Object.entries(responseObject.Authors);
這是一個標準的js函數。然而,TS編譯器返回以下錯誤:基於快速谷歌
"Property 'entries' does not exist on type 'ObjectConstructor'"
看來該解決方案可能是改變compilerOptions目標從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,然後重建項目並執行「typescriptUsingTsConfig」,但我仍然得到相同的錯誤。任何想法,我可以在這裏做的,以利用Object.entries()函數?
謝謝阿魯。那就是訣竅。這會得到ie10 +的支持嗎?試圖找出我是否應該添加polyfill – user8334943
@ user8334943不,你肯定需要爲IE 10添加一個polyfill。MDN鏈接在底部有瀏覽器支持信息。 –
其他人的注意事項:如果您沒有使用'lib'編譯器選項,則可能有一個基於您的目標的默認值,當您設置'lib'時將被覆蓋。請參閱[編譯器選項文檔](https://www.typescriptlang.org/docs/handbook/compiler-options.html)以獲取默認列表。我必須爲我的目標以及'es2017.object'顯式地添加默認的'lib'參數。 – alexanderbird