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