Я экспериментировал с 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, и результат тот же.