मैं थोड़ी देर के लिए 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 Chrome 48 और Firefox 43 में उपरोक्त कोड का परीक्षण किया है, और परिणाम समान है।
this
अपने मूल क्षेत्र का उपयोग करते हैं।