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 f
için o
:
var fBound = f.bind(o);
Ve sonra arayabilirim fBound
:
fBound();
Bunu ( o
nesne) çıkaracak :
{'a': 42}
Güzel! Güzel! İşe yaramaması dışında. o
Nesnenin çı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ı.
this
amacı, üst kapsamlarını kullanmalarıdır.