का उदाहरण
लेफ्ट हैंड साइड (एलएचएस) ऑपरेंड राइट हैंड साइड (आरएचएस) ऑपरेंड के लिए परीक्षण की जाने वाली वास्तविक वस्तु है जो एक वर्ग का वास्तविक निर्माता है। मूल परिभाषा है:
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 । इस मामले में, यह गलत है।
वास्तव में यह उतना आसान है!