प्रतिक्रिया ES6 तीर कार्य
तीर कार्य
एरो फ़ंक्शंस हमें छोटे फ़ंक्शन सिंटैक्स लिखने की अनुमति देते हैं:
पहले:
hello = function() {
return "Hello World!";
}
तीर समारोह के साथ:
hello = () => {
return "Hello World!";
}
यह छोटा हो जाता है! यदि फ़ंक्शन में केवल एक कथन है, और कथन एक मान देता है, तो आप कोष्ठक औरreturn
कीवर्ड को
हटा सकते हैं:
डिफ़ॉल्ट रूप से एरो फ़ंक्शंस रिटर्न वैल्यू:
hello = () => "Hello World!";
नोट: यह तभी काम करता है जब फंक्शन में केवल एक स्टेटमेंट हो।
यदि आपके पास पैरामीटर हैं, तो आप उन्हें कोष्ठक के अंदर पास करते हैं:
पैरामीटर्स के साथ एरो फंक्शन:
hello = (val) => "Hello " + val;
वास्तव में, यदि आपके पास केवल एक पैरामीटर है, तो आप कोष्ठक को भी छोड़ सकते हैं:
प्रमाणन हासिल करें!
$95 नामांकन
किस बारे में this
?
this
नियमित कार्यों की तुलना में तीर कार्यों में हैंडलिंग भी भिन्न होती है।
संक्षेप में, तीर कार्यों के साथ कोई बंधन नहीं है
this
।
नियमित कार्यों में this
कीवर्ड उस वस्तु का प्रतिनिधित्व करता है जिसे फ़ंक्शन कहा जाता है, जो कि विंडो, दस्तावेज़, एक बटन या जो कुछ भी हो सकता है।
एरो फ़ंक्शंस के साथ, this
कीवर्ड हमेशा उस ऑब्जेक्ट का प्रतिनिधित्व करता है जो एरो फ़ंक्शन को परिभाषित करता है।
आइए अंतर को समझने के लिए दो उदाहरण देखें।
दोनों उदाहरण एक विधि को दो बार कॉल करते हैं, पहली बार जब पृष्ठ लोड होता है, और एक बार फिर जब उपयोगकर्ता एक बटन पर क्लिक करता है।
पहला उदाहरण एक नियमित फ़ंक्शन का उपयोग करता है, और दूसरा उदाहरण एक तीर फ़ंक्शन का उपयोग करता है।
परिणाम से पता चलता है कि पहला उदाहरण दो अलग-अलग ऑब्जेक्ट (विंडो और बटन) देता है, और दूसरा उदाहरण हैडर ऑब्जेक्ट को दो बार लौटाता है।
उदाहरण
एक नियमित फ़ंक्शन के साथ, this
उस ऑब्जेक्ट का प्रतिनिधित्व करता है जिसे फ़ंक्शन कहा जाता है:
class Header {
constructor() {
this.color = "Red";
}
//Regular function:
changeColor = function() {
document.getElementById("demo").innerHTML += this;
}
}
const myheader = new Header();
//The window object calls the function:
window.addEventListener("load", myheader.changeColor);
//A button object calls the function:
document.getElementById("btn").addEventListener("click", myheader.changeColor);
उदाहरण
एक तीर फ़ंक्शन के साथ, this
हेडर ऑब्जेक्ट का प्रतिनिधित्व करता है चाहे कोई भी फ़ंक्शन कॉल करे:
class Header {
constructor() {
this.color = "Red";
}
//Arrow function:
changeColor = () => {
document.getElementById("demo").innerHTML += this;
}
}
const myheader = new Header();
//The window object calls the function:
window.addEventListener("load", myheader.changeColor);
//A button object calls the function:
document.getElementById("btn").addEventListener("click", myheader.changeColor);
इन अंतरों को याद रखें जब आप कार्यों के साथ काम कर रहे हों। कभी-कभी नियमित कार्यों का व्यवहार वही होता है जो आप चाहते हैं, यदि नहीं, तो तीर कार्यों का उपयोग करें।