Bir ng2 uygulama üzerinde çalışıyorum. Bir nesneyi bir diziye dönüştürmek için şu işlev çağrısı kullanıyorum:Özellik 'girdileri', 'ObjectConstructor' türünde yok
var authors = Object.entries(responseObject.Authors);
Bu, standart bir js işlevidir.
"Property 'entries' does not exist on type 'ObjectConstructor'"
o çözüm compileroptions ES6 için ES5 gelen özelliği hedef değiştirmek olabileceğini düşünmemiz hızlı bir google dayanarak: Ancak, ts derleyici aşağıdaki hata verir.
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"module": "commonjs",
"noEmitOnError": true,
"noImplicitAny": false,
"outDir": "../Scripts/",
"removeComments": false,
"sourceMap": true,
"target": "es5",
"moduleResolution": "node",
"lib": [
"es2015",
"dom"
]
}
Ben de hedef özelliğini değiştirerek çalıştı: Ancak, bir önceki soruna yönelik daha önceki bazı araştırma sonrasında, ben aşağıda benim tsconfig.json ek "lib" özelliği dahil ederek ES6 işlevselliği kaldıraç başardı düşündüm es2015 ve sonra projeyi yeniden inşa ve "typescriptUsingTsConfig" yürütüldü ama yine de aynı hatayı alıyorum. Object.entries() işlevinden yararlanmak için burada ne yapabilirim?
teşekkürler aluan. Bu hile yapar. Bu ie10 + tarafından desteklenir? Bir polyfill – user8334943
@ user8334943 eklemem gerekip gerekmediğini anlamaya çalışmaksızın, kesinlikle IE 10 için bir polifiliğe ihtiyacınız olacaktır.MDN bağlantısının alt kısmında tarayıcı desteği bilgileri vardır. –
Başkaları için not: 'lib' derleyici seçeneğini zaten kullanmadıysanız, 'lib' ayarlandığında hedefinize göre varsayılan bir değer olabilir. Varsayılanlar listesi için [derleyici seçenekleri belgeleri] 'ne bakın (https://www.typescriptlang.org/docs/handbook/compiler-options.html). Hedefimin yanı sıra 'es2017.object' için varsayılan' lib' parametrelerini açıkça eklemeliydim. – alexanderbird