निम्नलिखित कॉल 0 का मान लौटाते हैं:

var n1 = Number()         // n1 === 0 is true
var n2 = Number("")       // n2 === 0 is true
var n3 = Number(null)     // n3 === 0 is true 

मैंने Google क्रोम संस्करण 64.0.3282.119 में ऊपर की कोशिश की

लेकिन, क्या यह व्यवहार अच्छी तरह से परिभाषित है? मुझे यकीन नहीं है कि यह अन्य ब्राउज़रों में उसी तरह व्यवहार करता है।

1
dave 3 अप्रैल 2018, 19:10

3 जवाब

सबसे बढ़िया उत्तर

ECMAScript विनिर्देश से

enter image description here

स्ट्रिंग-टू-नंबर रूपांतरण के लिए, अगले भाग में अतिरिक्त जानकारी है: https://www.ecma-international.org/ecma-262/8.0/index.html#sec-tonumber-applied-to-the-string-type

2
Thank you 3 अप्रैल 2018, 16:16

जब कोई तर्क प्रदान नहीं किया जाता है तो नंबर () हमेशा 0 लौटाएगा और यदि तर्क अवैध है तो नंबर () NaN लौटाएगा

-1
Danish Ahmed 3 अप्रैल 2018, 16:21

हाँ यह सभी ब्राउज़रों पर अपेक्षित व्यवहार है।

संख्या के निर्माता को दिया गया कोई भी गैर निष्पादन योग्य मान 0 लौटाएगा।

var num1 = Number();
var num2 = Number("");
var num3 = Number(false);
var num4 = Number(null);
// here num1, num2, num3 and num4 will be 0 as undefined, empty string, false and null are non-executable values.

यदि आप संख्या के निर्माता को निष्पादन योग्य गैर-संख्या मान पास करते हैं, तो यह NaN लौटाएगा

var num5 = Number("abc");
var num6 = Number({});
var num7 = Number([]);
// num5, num6 and num7 will be NaN as non-empty string, any object and any array are executable but Not a number values.
0
Rushikesh Bharad 3 अप्रैल 2018, 16:29