क्यों जावास्क्रिप्ट किसी अन्य विकल्प पर एक String
वापस जाने के लिए पसंद करते हैं करता है?वापसी स्ट्रिंग बनाम पूर्णांक बनाम अपरिभाषित अशक्त बनाम
निम्नलिखित टुकड़ा पर विचार करें।
var arr = ['Hello1', 'Hello2', 'Hello3'];
Array.prototype.item = function(x) {
return this[x] || null || 'aïe' || 12 || undefined ;
};
console.log(arr.item(43)); // returns aïe
मैंने जानबूझकर एक अस्तित्वहीन सरणी तत्व कहा।
हालांकि मुझे समझ में नहीं आता कि arr.item(43)
String
क्यों देता है? क्यों नहीं null
या undefined
या यहाँ तक कि 12
?
चीयर्स! पूरी तरह से स्पष्ट :) – Pierre
बस एक नाइटपिक, '||' अंतिम मूल्यांकन अभिव्यक्ति देता है। इस मामले में जब कोई * सच्चाई * है, तो वह उसे वापस कर देगा। – alex
@alex: हम्म ... हाँ, लेकिन पहली "सत्य" अभिव्यक्ति * आखिरी मूल्यांकन है। शायद मैंने स्पष्ट रूप से पर्याप्त सर्किटिंग पर जोर नहीं दिया। मैं अपडेट करूंगा। –