Я уже некоторое время экспериментирую с 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
объект своей родительской области.