जावास्क्रिप्ट यह कीवर्ड
उदाहरण
const person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
यह क्या है ?
जावास्क्रिप्ट this
कीवर्ड उस वस्तु को संदर्भित करता है जिससे वह संबंधित है।
इसका उपयोग कहां किया जाता है, इसके आधार पर इसके अलग-अलग मूल्य हैं:
- एक विधि में, स्वामी वस्तु
this
को संदर्भित करता है । - अकेले, वैश्विक वस्तु
this
को संदर्भित करता है । - एक फ़ंक्शन में, वैश्विक वस्तु
this
को संदर्भित करता है । - एक फ़ंक्शन में, सख्त मोड में
this
हैundefined
। - एक घटना में, उस तत्व
this
को संदर्भित करता है जिसने घटना प्राप्त की। - जैसे तरीके
call()
, और किसी भी वस्तुapply()
को संदर्भित कर सकतेthis
हैं ।
यह एक विधि में
ऑब्जेक्ट विधि में, विधि के " स्वामीthis
" को संदर्भित करता है ।
इस पृष्ठ के शीर्ष पर उदाहरण में, व्यक्ति वस्तु this
को संदर्भित करता है ।
व्यक्ति वस्तु पूर्णनाम विधि का स्वामी है ।
fullName : function() {
return this.firstName + " " + this.lastName;
}
यह अकेला
जब अकेले उपयोग किया जाता है, तो स्वामी वैश्विक वस्तु होता है, इसलिए वैश्विक वस्तु this
को संदर्भित करता है।
ब्राउज़र विंडो में ग्लोबल ऑब्जेक्ट है [object Window]
:
उदाहरण
let x = this;
सख्त मोड में , जब अकेले उपयोग किया जाता है, तो this
यह वैश्विक वस्तु को भी संदर्भित करता है
[object Window]
:
उदाहरण
"use strict";
let x = this;
यह एक समारोह में (डिफ़ॉल्ट)
जावास्क्रिप्ट फ़ंक्शन में, फ़ंक्शन का स्वामी के लिए डिफ़ॉल्ट बाइंडिंग है this
।
तो, एक फ़ंक्शन में, this
ग्लोबल ऑब्जेक्ट को संदर्भित करता है [object Window]
।
उदाहरण
function myFunction() {
return this;
}
यह एक समारोह में (सख्त)
जावास्क्रिप्ट सख्त मोड डिफ़ॉल्ट बाइंडिंग की अनुमति नहीं देता है।
इसलिए, जब किसी फ़ंक्शन में, सख्त मोड में उपयोग किया जाता है, this
तो undefined
.
उदाहरण
"use strict";
function myFunction() {
return this;
}
इवेंट हैंडलर्स में यह
HTML ईवेंट हैंडलर में, this
ईवेंट प्राप्त करने वाले HTML तत्व को संदर्भित करता है:
उदाहरण
<button onclick="this.style.display='none'">
Click to
Remove Me!
</button>
ऑब्जेक्ट मेथड बाइंडिंग
इन उदाहरणों में, this
व्यक्ति वस्तु है (व्यक्ति वस्तु फ़ंक्शन का "स्वामी" है):
उदाहरण
const person = {
firstName : "John",
lastName : "Doe",
id : 5566,
myFunction : function() {
return this;
}
};
उदाहरण
const person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " +
this.lastName;
}
};
दूसरे शब्दों में: this.firstName का अर्थ इस (व्यक्ति) वस्तु की प्रथम नाम संपत्ति है ।
स्पष्ट कार्य बंधन
और विधियाँ पूर्वनिर्धारित जावास्क्रिप्ट विधियाँ हैं call()
।apply()
इन दोनों का उपयोग किसी ऑब्जेक्ट विधि को किसी अन्य ऑब्जेक्ट के साथ तर्क के रूप में कॉल करने के लिए किया जा सकता है।
आप इस ट्यूटोरियल के बारे में call()
और बाद में पढ़ सकते हैं ।apply()
नीचे दिए गए उदाहरण में, जब person1.fullName को person2 के साथ तर्क के रूप में कॉल करते हैं this
, तो यह person2 को संदर्भित करेगा, भले ही वह person1 की एक विधि हो:
उदाहरण
const person1 = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
const person2 = {
firstName:"John",
lastName: "Doe",
}
person1.fullName.call(person2); // Will return "John Doe"