अन्य उत्तरों का संकलन:
वस्तु
var test = {};
किसी संख्या को नई संपत्ति की कुंजी के रूप में उपयोग करते समय, संख्या एक स्ट्रिंग में बदल जाती है:
test[2300] = 'Some string';
console.log(test['2300']);
// Output: 'Some string'
एक ही नंबर का उपयोग करके संपत्ति के मूल्य को एक्सेस करते समय, संख्या को फिर से एक स्ट्रिंग में बदल दिया जाता है:
console.log(test[2300]);
// Output: 'Some string'
जब ऑब्जेक्ट से चाबी मिल रही है, हालांकि, वे संख्याओं में वापस जाने वाले नहीं हैं:
for (var key in test) {
console.log(typeof key);
}
// Output: 'string'
नक्शा
ECMAScript 6 मैप ऑब्जेक्ट ( प्रलेखन , ऑब्जेक्ट के साथ तुलना ) के उपयोग की अनुमति देता है । यदि आपका कोड स्थानीय रूप से व्याख्या करने के लिए है या ECMAScript 6 संगतता तालिका आपके उद्देश्यों के लिए पर्याप्त हरी दिखती है, तो मानचित्र का उपयोग करने पर विचार करें:
var test = new Map();
test.set(2300, 'Some string');
console.log(test.get(2300));
// Output: 'Some string'
किसी भी प्रकार का रूपांतरण बेहतर और बदतर के लिए नहीं किया जाता है:
console.log(test.get('2300'));
// Output: undefined
test.set('2300', 'Very different string');
console.log(test.get(2300));
// Output: 'Some string'