Object
ईव है, और Function
एडम है, एडम ( Function
) Function.prototype
ईव ( Object
) बनाने के लिए अपनी हड्डी ( ) का उपयोग करता है । फिर आदम को किसने बनाया (Function
) को ? - जावास्क्रिप्ट भाषा का आविष्कारक :-)।
Utsaina के उत्तर के अनुसार, मैं अधिक उपयोगी जानकारी जोड़ना चाहता हूं।
मेरे लिए सबसे आश्चर्यजनक बात यह थी कि इसके बजाय, उस Object.__proto__
बिंदु की खोज की जा रही थी , लेकिन मुझे यकीन है कि इसके लिए एक अच्छा कारण है :-)Function.prototype
Object.prototype
यह नहीं होना चाहिए। Object.__proto__
को इंगित नहीं करना चाहिए Object.prototype
। इसके बजाय, उदाहरण Object
o
, o.__proto__
को इंगित करना चाहिएObject.prototype
।
(शर्तों का उपयोग करने के लिए मुझे क्षमा करें class
औरinstance
जावास्क्रिप्ट , लेकिन आप इसे जानते हैं :-)
मुझे लगता है कि वर्ग Object
ही इसका एक उदाहरण है Function
, इसीलिए Object.__proto__ === Function.prototype
। इसलिए: Object
ईव है, और Function
एडम है, एडम ( Function
) Function.prototype
ईव बनाने के लिए अपनी हड्डी ( ) का उपयोग करता है (Object
)।
इसके अलावा, यहां तक कि वर्ग Function
खुद का एक उदाहरण Function
है Function.__proto__ === Function.prototype
, यही कारण है कि यह भी हैFunction === Function.constructor
इसके अलावा, नियमित वर्ग Cat
इसका उदाहरण Function
है Cat.__proto__ === Function.prototype
।
उपरोक्त का कारण है, जब हम जावास्क्रिप्ट में एक वर्ग बनाते हैं, वास्तव में, हम केवल एक फ़ंक्शन बना रहे हैं, जिसका एक उदाहरण होना चाहिए Function
। Object
और Function
सिर्फ विशेष हैं, लेकिन वे अभी भी कक्षाएं हैं, जबकि Cat
एक नियमित वर्ग है।
कारक के रूप में, Google Chrome जावास्क्रिप्ट इंजन में, निम्नलिखित 4:
Function.prototype
Function.__proto__
Object.__proto__
Cat.__proto__
वे ===
अन्य 3 के लिए सभी (बिल्कुल बराबर) हैं, और उनका मूल्य हैfunction Empty() {}
> Function.prototype
function Empty() {}
> Function.__proto__
function Empty() {}
> Object.__proto__
function Empty() {}
> Cat.__proto__
function Empty() {}
> Function.prototype === Function.__proto__
true
> Function.__proto__ === Object.__proto__
true
> Object.__proto__ === Cat.__proto__
true
ठीक है। फिर विशेष function Empty() {}
( Function.prototype
) का निर्माण कौन करता है ? इसके बारे में सोचो :-)