2013-07-08 15 views
5

नोड.जेएस v0.11.3 --harmony_symbols ध्वज के साथ ECMAScript 6 प्रतीकों के लिए समर्थन करने का दावा करता है (here देखें)। नवीनतम मसौदा saysप्रतीक कैसे काम करते हैं?

Properties are identified using key values. A key value is either an ECMAScript String value or a Symbol value.

मैं निम्न उदाहरण

var mySymbol = new Symbol('Test symbol'); 
console.log(mySymbol.name); // prints 'Test symbol', as expected 

var a = {}; 
a[mySymbol] = 'Hello!'; 

की कोशिश की है, लेकिन मैं अंतिम पंक्ति

TypeError: Conversion from symbol to string

पर एक त्रुटि प्राप्त प्रतीकों कैसे काम करते हैं? क्या मेरा उदाहरण गलत है, या नोड.जेएस वास्तव में समर्थन प्रतीक नहीं है?

+2

मैं भी नवीनतम मसौदे में 'Symbol' निर्माता नहीं मिल रही है। –

+0

जो केवल डेटा * प्रकार * का वर्णन करता है। उदाहरण के लिए, ऊपर आप 'नल टाइप' देखेंगे। कोई 'नल' कन्स्ट्रक्टर फ़ंक्शन नहीं है। –

+0

@Randomblue: यह सिर्फ 'प्रतीक' प्रकार का वर्णन है। उन्हें बनाने के लिए 'प्रतीक()' कन्स्ट्रक्टर का कोई विनिर्देश नहीं है, जैसे आपने इसका इस्तेमाल किया था। मसौदा अभी तक समाप्त नहीं हुआ है :-) – Bergi

उत्तर

2

आप new बिना प्रयास करना चाहिए:

var mySymbol = Symbol('Test symbol'); 
console.log(mySymbol.name); // prints 'Test symbol', as expected 

var a = {}; 
a[mySymbol] = 'Hello!'; 
संबंधित मुद्दे