मैं थोड़ी देर के लिए ES6 के साथ प्रयोग कर रहा हूं, और मैं थोड़ी सी समस्या के लिए आया हूं।क्या आप तीर कार्यों को बांध सकते हैं?
मुझे वास्तव में तीर फ़ंक्शंस का उपयोग करना पसंद है, और जब भी मैं कर सकता हूं, तो मैं उनका उपयोग करता हूं।
हालांकि, ऐसा लगता है कि आप उन्हें बाध्य नहीं कर सकते!
var f =() => console.log(this);
यहाँ वस्तु मैं करने के लिए समारोह के लिए बाध्य करना चाहते है:
यहाँ समारोह है यहाँ
var o = {'a': 42};
और मैं कैसे बाँध होता है f
o
रहे हैं:
var fBound = f.bind(o);
और फिर मैं केवल fBound
पर कॉल कर सकता हूं:
fBound();
कौन सा होगा उत्पादन इस (o
वस्तु):
{'a': 42}
कूल! लवली! सिवाय इसके कि यह काम नहीं करता है। o
ऑब्जेक्ट को आउटपुट करने के बजाय, यह window
ऑब्जेक्ट आउटपुट करता है।
तो मैं जानना चाहता हूं: क्या आप तीर कार्यों को बांध सकते हैं? (और यदि हां, तो कैसे?)
मैंने Google क्रोम 48 और फ़ायरफ़ॉक्स 43 में उपरोक्त कोड का परीक्षण किया है, और नतीजा वही है।
तीर कार्यों के पूरे मुद्दे है कि वे 'अपने माता पिता के दायरे से this' का उपयोग करें। – loganfsmyth