2012-11-24 9 views
8

कल्पना राज्यों की धारा 3.5.4: "[: संख्या सूचकांक]: प्रपत्र elementType [] की एक सरणी प्रकार सूचकांक हस्ताक्षर के साथ एक वस्तु प्रकार के बराबर है elementType" लेकिन इस मामले जैसे होने के लिए प्रकट नहीं होता हैक्या ऑब्जेक्ट इंडेक्स हस्ताक्षर सरणी प्रकारों के बराबर हैं?

var a: {[index: number]: string;}; 
var b: string[]; 
a = ['1','2']; // ERROR: Cannot convert 'string[]' to '{ [index: number]: string; }' 
b = ['1','2']; // OK 

मैं यहाँ क्या याद आ रही है?

+0

संभावित डुप्लिकेट [संभवतः संख्या के लिए सूचकांक इंटरफ़ेस को परिभाषित करने के लिए संभावित \ [\]?] (Http://stackoverflow.com/questions/13074851/possible-to-define-indexer-interface-for-number) –

+0

कार्य आइटम : http://typescript.codeplex.com/workitem/331 –

+0

मुझे लगता है कि आप सही हैं, यह वही समस्या है (अनुक्रमित प्रकार Arrays के बराबर नहीं हैं), प्रतीत होता है कि यह कल्पना के विपरीत है। मैं केवल एक कलाकार के साथ काम करने के लिए अपना उदाहरण असाइनमेंट प्राप्त कर सकता हूं: ' a = ['1', '2'];' –

उत्तर

1

हाँ, यह कंपाइलर में एक ज्ञात बग है। इसे भविष्य में रिलीज में तय किया जाएगा। सबसे अच्छा कामकाज एक कलाकार है (असाइनमेंट के दोनों ओर - a = <string[]>['1', '2'] शायद थोड़ा अजीब दिखता है)।

संबंधित मुद्दे