Bir süredir ES6 ile deneyler yapıyorum ve küçük bir problemle karşılaştım.
Ok işlevlerini kullanmayı gerçekten seviyorum ve ne zaman yapabilsem onları kullanıyorum.
Ancak, onları bağlayamayacağınız anlaşılıyor!
İşte işlev:
var f = () => console.log(this);
İşte işlevi bağlamak istediğim nesne:
var o = {'a': 42};
Ve burada ben bağlamak nasıl olduğunu fiçin o:
var fBound = f.bind(o);
Ve sonra arayabilirim fBound:
fBound();
Bunu ( onesne) çıkaracak :
{'a': 42}
Güzel! Güzel! İşe yaramaması dışında. oNesnenin çıktısını almak yerine, nesneyi çıkarır window.
Öyleyse bilmek istiyorum: ok işlevlerini bağlayabilir misiniz? (Ve eğer öyleyse, nasıl?)
Yukarıdaki kodu Google Chrome 48 ve Firefox 43'te test ettim ve sonuç aynı.
thisamacı, üst kapsamlarını kullanmalarıdır.