Я деякий час експериментував з 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
своїх батьківських областей.