Determining Type – typeof Operator को हम पहले भी Use कर चुके हैं। इस Operator को Use करके हम किसी भी Variable के Data Type का पता कर सकते हैं और जान सकते हैं कि कोई Variable Primitive Type का है या कोई Object है। इस Operator को हम निम्नानुसार Use कर सकते हैं:
[code] var s = "Kuldeep"; var b = true; var i = 22; var u; var n = null; var o = new Object(); alert(typeof s); // Output: string alert(typeof i); // Output: number alert(typeof b); // Output: boolean alert(typeof u); // Output: undefined alert(typeof n); // Output: object alert(typeof o); // Output: object [/code]
हालांकि typeof Operator, Primitive Data Types के लिए Best तरीके से काम करता है, लेकिन Reference Variables या Object के लिए ये काफी कम Information देता है। क्योंकि वास्तव में हम ये नहीं जानना चाहते कि कोई Variable किसी Object के Reference को Hold कर रहा है या नहीं बल्कि हम ये जानना चाहते हैं कि Object किस Type का है।
इस जरूरत को पूरा करने के लिए ECMAScript में एक नया Operator Introduce किया गया है, जिसका नाम instanceof Operator है और हम इसे निम्न Syntax के अनुसार Use कर सकते हैं:
[code] result = variable instanceof constructor [/code]
उपरोक्त Syntax में यदि variable, constructor Type के Object का Reference Hold करता है, तो instanceof Operator true Return करता है। इसे हम निम्न उदाहरण द्वारा समझ सकते हैं।
[code] alert(person instanceof Object); //Output: is the variable person an Object? alert(colors instanceof Array); //Output: is the variable colors an Array? alert(pattern instanceof RegExp); //Output: is the variable pattern a RegExp? [/code]
चूंकि सभी References हमेंशा Top Level Object के Instances होते हैं, इसलिए instanceof Operator हमेंशा Reference Value व Object Constructor के साथ true Return करता है।
इसी तरह से यदि instanceof को Primitive Values के साथ Use किया जाता है, तो ये हमेंशा false Return करता है क्योंकि कोई भी Primitive Value, Top Level Object का Instance नहीं होता। यानी Primitive Values Object नहीं होते।
typeof Operator को जब Function के साथ Use किया जाता है, तब ये “function” मान भी Return करता है। जबकि typeof Operator के साथ Regular Expression का प्रयोग करने पर भी typeof Operator”function” मान ही Return करता है, जो कि एक गलत Result है, क्योंकि Regular Expression Function नहीं होते।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance JavaScript in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Advance JavaScript in Hindi | Page: 669 | Format: PDF