का उदाहरण
लेफ्ट हैंड साइड (एलएचएस) ऑपरेंड राइट हैंड साइड (आरएचएस) ऑपरेंड के लिए परीक्षण की जाने वाली वास्तविक वस्तु है जो एक वर्ग का वास्तविक निर्माता है। मूल परिभाषा है:
Checks the current object and returns true if the object
is of the specified object type.
यहाँ कुछ अच्छे उदाहरण दिए गए हैं और यहाँ एक उदाहरण सीधे मोज़िला की डेवलपर साइट से लिया गया है :
var color1 = new String("green");
color1 instanceof String; // returns true
var color2 = "coral"; //no type specified
color2 instanceof String; // returns false (color2 is not a String object)
instanceof
यदि वस्तु क्लैस के प्रोटोटाइप से विरासत में मिली है तो एक बात ध्यान देने योग्य है :
var p = new Person("Jon");
p instanceof Person
यह p instanceof Person
सच है क्योंकि p
विरासत में मिला है Person.prototype
।
ओपी के अनुरोध के अनुसार
मैंने कुछ नमूना कोड और स्पष्टीकरण के साथ एक छोटा सा उदाहरण जोड़ा है।
जब आप एक चर घोषित करते हैं तो आप इसे एक विशिष्ट प्रकार देते हैं।
उदाहरण के लिए:
int i;
float f;
Customer c;
ऊपर आप कुछ चर दिखाने के लिए, अर्थात् i
, f
, और c
। प्रकार हैं integer
, float
और एक उपयोगकर्ता परिभाषित Customer
डेटा प्रकार। उपरोक्त प्रकार के प्रकार किसी भी भाषा के लिए हो सकते हैं, केवल जावास्क्रिप्ट के लिए नहीं। हालांकि, जावास्क्रिप्ट के साथ जब आप एक चर घोषित करते हैं तो आप स्पष्ट रूप से एक प्रकार को परिभाषित नहीं करते हैं var x
, x एक संख्या / स्ट्रिंग / उपयोगकर्ता परिभाषित डेटा प्रकार हो सकता है। तो instanceof
यह क्या करता है यह देखने के लिए वस्तु की जाँच करता है कि क्या यह निर्दिष्ट प्रकार से है ताकि ऊपर से वह Customer
वस्तु ले सके जो हम कर सकते हैं:
var c = new Customer();
c instanceof Customer; //Returns true as c is just a customer
c instanceof String; //Returns false as c is not a string, it's a customer silly!
ऊपर हमने देखा है कि c
प्रकार के साथ घोषित किया गया था Customer
। हमने इसे नया रूप दिया है और जाँच की है कि यह टाइप का है Customer
या नहीं। निश्चित है, यह सच है। फिर भी Customer
ऑब्जेक्ट का उपयोग करके हम जांचते हैं कि क्या यह ए है String
। नहीं, निश्चित रूप से String
हम एक Customer
वस्तु नहीं एक String
वस्तु newed । इस मामले में, यह गलत है।
वास्तव में यह उतना आसान है!