जावास्क्रिप्ट टाइपोफ़
जावास्क्रिप्ट में 5 अलग-अलग डेटा प्रकार होते हैं जिनमें मान हो सकते हैं:
string
number
boolean
object
function
वस्तुएँ 6 प्रकार की होती हैं:
Object
Date
Array
String
Number
Boolean
और 2 डेटा प्रकार जिनमें मान नहीं हो सकते:
null
undefined
टाइपऑफ़ ऑपरेटर
आप typeof
जावास्क्रिप्ट चर के डेटा प्रकार को खोजने के लिए ऑपरेटर का उपयोग कर सकते हैं।
उदाहरण
typeof "John"
// Returns "string"
typeof 3.14
// Returns "number"
typeof NaN
// Returns "number"
typeof false
// Returns "boolean"
typeof [1,2,3,4] // Returns
"object"
typeof {name:'John', age:34}
// Returns "object"
typeof new Date()
// Returns "object"
typeof function () {} // Returns
"function"
typeof myCar
// Returns "undefined" *
typeof null
// Returns "object"
कृपया ध्यान दें:
- NaN का डेटा प्रकार संख्या है
- किसी सरणी का डेटा प्रकार वस्तु है
- दिनांक का डेटा प्रकार वस्तु है
- नल का डेटा प्रकार वस्तु है
- एक अपरिभाषित चर का डेटा प्रकार अपरिभाषित है *
- एक चर का डेटा प्रकार जिसे मान नहीं दिया गया है, वह भी अपरिभाषित है *
आप यह typeof
निर्धारित करने के लिए उपयोग नहीं कर सकते हैं कि जावास्क्रिप्ट ऑब्जेक्ट एक सरणी (या दिनांक) है या नहीं।
आदिम डेटा
एक आदिम डेटा मान एक साधारण डेटा मान है जिसमें कोई अतिरिक्त गुण और विधियाँ नहीं हैं।
ऑपरेटर इन typeof
आदिम प्रकारों में से एक को वापस कर सकता है:
string
number
boolean
undefined
उदाहरण
typeof "John" // Returns
"string"
typeof 3.14 // Returns
"number"
typeof true // Returns
"boolean"
typeof false // Returns
"boolean"
typeof x
// Returns "undefined" (if x has no value)
जटिल डेटा
typeof
ऑपरेटर दो जटिल प्रकारों में से एक को वापस कर सकता है :
function
object
typeof
ऑपरेटर ऑब्जेक्ट्स, एरेज़ और नल के लिए "ऑब्जेक्ट" देता है ।
typeof
ऑपरेटर कार्यों के लिए "ऑब्जेक्ट" वापस नहीं करता है ।
उदाहरण
typeof {name:'John', age:34} // Returns "object"
typeof [1,2,3,4]
// Returns "object" (not "array", see note below)
typeof null // Returns
"object"
typeof function myFunc(){} // Returns "function"
typeof
ऑपरेटर सरणियों के लिए " " लौटाता है object
क्योंकि जावास्क्रिप्ट में सरणियाँ वस्तुएँ होती हैं।
टाइपोफ़ का डेटा प्रकार
typeof
ऑपरेटर एक चर नहीं है । यह एक ऑपरेटर है। ऑपरेटरों ( + - * / ) के पास कोई डेटा प्रकार नहीं है।
लेकिन, typeof
ऑपरेटर हमेशा एक स्ट्रिंग (संचालन के प्रकार युक्त) देता है।
कंस्ट्रक्टर संपत्ति
प्रॉपर्टी सभी JavaScript वैरिएबल के constructor
लिए कंस्ट्रक्टर फ़ंक्शन लौटाती है।
उदाहरण
"John".constructor
// Returns function String() {[native code]}
(3.14).constructor
// Returns function Number() {[native code]}
false.constructor // Returns
function Boolean() {[native code]}
[1,2,3,4].constructor
// Returns function Array() {[native code]}
{name:'John',age:34}.constructor
// Returns function Object() {[native code]}
new Date().constructor
// Returns function Date() {[native code]}
function () {}.constructor // Returns
function Function(){[native code]}
आप यह पता लगाने के लिए कंस्ट्रक्टर संपत्ति की जांच कर सकते हैं कि क्या कोई वस्तु है Array
("ऐरे" शब्द शामिल है):
उदाहरण
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
या इससे भी सरल, आप जांच सकते हैं कि वस्तु एक ऐरे फ़ंक्शन है या नहीं :
उदाहरण
function isArray(myArray) {
return myArray.constructor
=== Array;
}
आप यह पता लगाने के लिए कंस्ट्रक्टर संपत्ति की जांच कर सकते हैं कि क्या कोई वस्तु है
Date
(शब्द "दिनांक" है):
उदाहरण
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
या इससे भी आसान, आप जांच सकते हैं कि ऑब्जेक्ट एक दिनांक फ़ंक्शन है या नहीं :
उदाहरण
function isDate(myDate) {
return myDate.constructor === Date;
}
अपरिभाषित
जावास्क्रिप्ट में, बिना मान वाले एक चर का मान होता है undefined
। प्रकार भी है undefined
।
उदाहरण
let car; // Value is undefined,
type is undefined
मान को पर सेट करके किसी भी चर को खाली किया जा सकता है undefined
। प्रकार भी होगा undefined
।
उदाहरण
car = undefined; // Value is undefined,
type is undefined
खाली मान
एक खाली मूल्य के साथ कुछ लेना देना नहीं है undefined
।
एक खाली स्ट्रिंग में कानूनी मान और प्रकार दोनों होते हैं।
उदाहरण
let car = ""; //
The value is
"", the typeof is "string"
शून्य
जावास्क्रिप्ट null
में "कुछ नहीं" है। यह कुछ ऐसा होना चाहिए जो अस्तित्व में नहीं है।
दुर्भाग्य से, जावास्क्रिप्ट में, का डेटा प्रकार null
एक वस्तु है।
आप इसे जावास्क्रिप्ट में एक बग मान सकते हैं जो typeof null
एक वस्तु है। यह होना चाहिए null
।
आप किसी वस्तु को इस पर सेट करके खाली कर सकते हैं null
:
उदाहरण
let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = null; //
Now value is null,
but type is still an object
आप किसी ऑब्जेक्ट को इस पर सेट करके भी खाली कर सकते हैं undefined
:
उदाहरण
let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = undefined; //
Now both value and type is undefined
अपरिभाषित और अशक्त के बीच अंतर
undefined
और null
मूल्य में समान हैं लेकिन प्रकार में भिन्न हैं:
typeof undefined
// undefined
typeof null
// object
null === undefined
// false
null == undefined
// true