ऐसा लगता है कि जब मैं किसी ऑब्जेक्ट में किसी कुंजी नाम के रूप में एक संख्यात्मक प्रकार का उपयोग करता हूं, तो यह हमेशा स्ट्रिंग में परिवर्तित हो जाता है। क्या वास्तव में इसे संख्यात्मक के रूप में स्टोर करने के लिए वैसे भी है? सामान्य टाइपकास्टिंग काम नहीं लग रहा है।क्या कोई ऑब्जेक्ट कुंजी ऑब्जेक्ट कुंजी के रूप में उपयोग करने का कोई तरीका है?
उदाहरण:
var userId = 1;
console.log(typeof userId); // number
myObject[userId] = 'a value';
console.dir(myObject);
डिर आउटपुट:
{
1: 'a value'
}
सलाह:
{
'1': 'a value'
}
क्या मैं चाहते है?
धन्यवाद
धन्यवाद। क्या यह भाषा में एक दोष माना जाता है, या इसे एक अच्छा डिजाइन निर्णय के रूप में स्वीकार किया जाता है? – Spot
यह बल्कि व्यक्तिपरक है। विलियम ने नोट किया, पूर्णांक कुंजी के लिए आप इसके बजाय एक सरणी का उपयोग कर सकते हैं। अधिकांश जेएस इंजन दृश्यों के पीछे स्पैस एरे का उपयोग कर सकते हैं। –
यहां तक कि एक सरणी में, सभी संपत्ति नाम स्ट्रिंग में परिवर्तित हो जाते हैं। –