जावास्क्रिप्ट नंबर
जावास्क्रिप्ट में केवल एक प्रकार की संख्या होती है। संख्याओं को दशमलव के साथ या बिना लिखा जा सकता है।
उदाहरण
let x = 3.14; // A number with decimals
let y = 3; // A number without decimals
अतिरिक्त बड़ी या अतिरिक्त छोटी संख्याएँ वैज्ञानिक (घातांक) संकेतन के साथ लिखी जा सकती हैं:
उदाहरण
let x = 123e5; // 12300000
let y = 123e-5; // 0.00123
जावास्क्रिप्ट नंबर हमेशा 64-बिट फ्लोटिंग पॉइंट होते हैं
कई अन्य प्रोग्रामिंग भाषाओं के विपरीत, जावास्क्रिप्ट विभिन्न प्रकार की संख्याओं को परिभाषित नहीं करता है, जैसे पूर्णांक, छोटा, लंबा, फ्लोटिंग-पॉइंट आदि।
अंतरराष्ट्रीय आईईईई 754 मानक का पालन करते हुए जावास्क्रिप्ट नंबरों को हमेशा डबल सटीक फ्लोटिंग पॉइंट नंबर के रूप में संग्रहीत किया जाता है।
यह प्रारूप 64 बिट्स में संख्याओं को संग्रहीत करता है, जहां संख्या (अंश) बिट्स 0 से 51 में संग्रहीत होती है, घातांक 52 से 62 बिट्स में, और साइन इन बिट 63:
मूल्य (उर्फ अंश / मंटिसा) | प्रतिपादक | संकेत |
---|---|---|
52 बिट्स (0 - 51) | 11 बिट (52 - 62) | 1 बिट (63) |
पूर्णांक परिशुद्धता
पूर्णांक (बिना किसी अवधि या घातांक के अंक) 15 अंकों तक सटीक होते हैं।
उदाहरण
let x = 999999999999999; // x will be 999999999999999
let y = 9999999999999999; // y will be 10000000000000000
दशमलवों की अधिकतम संख्या 17 है।
फ़्लोटिंग प्रेसिजन
फ़्लोटिंग पॉइंट अंकगणित हमेशा 100% सटीक नहीं होता है:
let x = 0.2 + 0.1;
उपरोक्त समस्या को हल करने के लिए, यह गुणा और भाग करने में मदद करता है:
let x = (0.2 * 10 + 0.1 * 10) / 10;
नंबर और स्ट्रिंग्स जोड़ना
चेतावनी !!
जोड़ और संयोजन दोनों के लिए जावास्क्रिप्ट + ऑपरेटर का उपयोग करता है।
नंबर जोड़े जाते हैं। तार जुड़े हुए हैं।
यदि आप दो संख्याएँ जोड़ते हैं, तो परिणाम एक संख्या होगी:
उदाहरण
let x = 10;
let y = 20;
let z = x + y;
यदि आप दो तार जोड़ते हैं, तो परिणाम एक स्ट्रिंग संयोजन होगा:
उदाहरण
let x = "10";
let y = "20";
let z = x + y;
यदि आप एक संख्या और एक स्ट्रिंग जोड़ते हैं, तो परिणाम एक स्ट्रिंग संयोजन होगा:
उदाहरण
let x = 10;
let y = "20";
let z = x + y;
यदि आप एक स्ट्रिंग और एक संख्या जोड़ते हैं, तो परिणाम एक स्ट्रिंग संयोजन होगा:
उदाहरण
let x = "10";
let y = 20;
let z = x + y;
इस परिणाम के 30 होने की अपेक्षा करना एक सामान्य गलती है:
उदाहरण
let x = 10;
let y = 20;
let z = "The result is: " + x + y;
इस परिणाम के 102030 होने की अपेक्षा करना एक सामान्य गलती है:
उदाहरण
let x = 10;
let y = 20;
let z = "30";
let result = x + y + z;
जावास्क्रिप्ट दुभाषिया बाएं से दाएं काम करता है।
पहले 10 + 20 को जोड़ा जाता है क्योंकि x और y दोनों संख्याएँ हैं।
फिर 30 + "30" को जोड़ा जाता है क्योंकि z एक स्ट्रिंग है।
संख्यात्मक स्ट्रिंग्स
जावास्क्रिप्ट स्ट्रिंग्स में संख्यात्मक सामग्री हो सकती है:
let x = 100; // x is a number
let y = "100"; // y is a
string
जावास्क्रिप्ट सभी संख्यात्मक कार्यों में स्ट्रिंग्स को संख्याओं में बदलने का प्रयास करेगा:
यह काम करेगा:
let x = "100";
let y = "10";
let z = x / y;
यह भी काम करेगा:
let x = "100";
let y = "10";
let z = x * y;
और यह काम करेगा:
let x = "100";
let y = "10";
let z = x - y;
लेकिन यह काम नहीं करेगा:
let x = "100";
let y = "10";
let z = x + y;
पिछले उदाहरण में जावास्क्रिप्ट स्ट्रिंग्स को जोड़ने के लिए + ऑपरेटर का उपयोग करता है।
NaN - नंबर नहीं
NaN
एक जावास्क्रिप्ट आरक्षित शब्द है जो दर्शाता है कि एक संख्या कानूनी संख्या नहीं है।
गैर-संख्यात्मक स्ट्रिंग के साथ अंकगणित करने का प्रयास करने का परिणाम होगा NaN
(संख्या नहीं):
उदाहरण
let x = 100 / "Apple";
हालाँकि, यदि स्ट्रिंग में एक संख्यात्मक मान है, तो परिणाम एक संख्या होगी:
उदाहरण
let x = 100 / "10";
isNaN()
यह पता लगाने के लिए कि क्या कोई मान एक संख्या नहीं है , आप वैश्विक जावास्क्रिप्ट फ़ंक्शन का उपयोग कर सकते हैं :
उदाहरण
let x = 100 / "Apple";
isNaN(x);
के लिए सावधान रहें NaN
। यदि आप NaN
गणितीय संक्रिया में उपयोग करते हैं, तो परिणाम भी होगा NaN
:
उदाहरण
let x = NaN;
let y = 5;
let z = x + y;
या परिणाम NaN5 की तरह एक संयोजन हो सकता है:
उदाहरण
let x = NaN;
let y = "5";
let z = x + y;
NaN
एक संख्या है: typeof NaN
रिटर्न number
:
उदाहरण
typeof NaN;
अनंतता
Infinity
(या -Infinity
) वह मान है जो जावास्क्रिप्ट लौटाएगा यदि आप सबसे बड़ी संभावित संख्या के बाहर की संख्या की गणना करते हैं।
उदाहरण
let myNumber = 2;
// Execute until Infinity
while (myNumber != Infinity) {
myNumber = myNumber * myNumber;
}
0 से भाग (शून्य) भी उत्पन्न करता है Infinity
:
उदाहरण
let x = 2 / 0;
let y = -2 / 0;
Infinity
एक संख्या है: typeof Infinity
रिटर्न number
।
उदाहरण
typeof Infinity;
हेक्साडेसिमल
जावास्क्रिप्ट संख्यात्मक स्थिरांक को हेक्साडेसिमल के रूप में व्याख्या करता है यदि वे 0x से पहले होते हैं।
उदाहरण
let x = 0xFF;
कभी भी एक अग्रणी शून्य (जैसे 07) वाली संख्या न लिखें।
कुछ जावास्क्रिप्ट संस्करण संख्याओं को ऑक्टल के रूप में व्याख्या करते हैं यदि वे एक अग्रणी शून्य के साथ लिखे गए हैं।
डिफ़ॉल्ट रूप से, जावास्क्रिप्ट संख्याओं को आधार 10 दशमलव के रूप में प्रदर्शित करता है।
लेकिन आप आधार 2
से आधार 36toString()
तक संख्याओं को आउटपुट करने के लिए विधि का उपयोग कर सकते हैं ।
हेक्साडेसिमल आधार 16 है । दशमलव 10 आधार है । अष्टक आधार 8 है । बाइनरी बेस 2 है ।
उदाहरण
let myNumber = 32;
myNumber.toString(10);
myNumber.toString(32);
myNumber.toString(16);
myNumber.toString(8);
myNumber.toString(2);
वस्तुओं के रूप में जावास्क्रिप्ट नंबर
आम तौर पर जावास्क्रिप्ट नंबर शाब्दिक से बनाए गए आदिम मान होते हैं:
let x = 123;
लेकिन संख्याओं को कीवर्ड के साथ ऑब्जेक्ट के रूप में भी परिभाषित किया जा सकता है new
:
let y = new Number(123);
उदाहरण
let x = 123;
let y = new Number(123);
नंबर ऑब्जेक्ट न बनाएं।
कीवर्ड कोड को new
जटिल बनाता है और निष्पादन की गति को धीमा कर देता है।
संख्या वस्तुएं अप्रत्याशित परिणाम उत्पन्न कर सकती हैं:
ऑपरेटर का उपयोग करते समय ==
, x और y बराबर होते हैं :
let x = 500;
let y = new Number(500);
ऑपरेटर का उपयोग करते समय ===
, x और y बराबर नहीं होते हैं ।
let x = 500;
let y = new Number(500);
(x==y)
और के बीच के अंतर पर ध्यान दें (x===y)
।
(x == y)
सही या गलत?
let x = new Number(500);
let y = new Number(500);
(x === y)
सही या गलत?
let x = new Number(500);
let y = new Number(500);
Comparing two JavaScript objects always returns false.
Complete JavaScript Number Reference
For a complete Number reference, visit our:
Complete JavaScript Number Reference.
The reference contains descriptions and examples of all Number properties and methods.