Estou experimentando o ES6 há um tempo e acabei de encontrar um pequeno problema.
Eu realmente gosto de usar as funções de seta e sempre que posso, eu as uso.
No entanto, parece que você não pode vinculá-los!
Aqui está a função:
var f = () => console.log(this);
Aqui está o objeto ao qual quero vincular a função:
var o = {'a': 42};
E aqui está como eu me ligaria f
a o
:
var fBound = f.bind(o);
E então eu posso simplesmente ligar fBound
:
fBound();
O que produzirá este (o o
objeto):
{'a': 42}
Legal! Encantador! Exceto que isso não funciona. Em vez de emitir o o
objeto, ele gera o window
objeto.
Então, eu gostaria de saber: você pode vincular funções de seta? (E se sim, como?)
Testei o código acima no Google Chrome 48 e Firefox 43, e o resultado é o mesmo.
this
escopo pai.