У меня есть проблема, чтобы понять в функции стрелки.Arrow функции как метод объекта - это не определено Окно
Я прочитал много ответов, например: Methods in ES6 objects: using arrow functions и УВК в этом описании Link github и все говорят, что этот должен связываться с окна, но когда я проверить эти примеры я вижу неопределен, если любой из вас, знаю, почему ?
var foo = {
bar:() => console.log(this) // lexical this is window or something else
}
foo.bar()
Я использую столпотворение, чтобы transpile код:
var foo = {
bar: function bar() {
return console.log(undefined);
}
}
Бабель версии являются:
- "столпотворение-ядро": "^ 6.21.0",
- " «Babel-loader»: «^ 6.2.10»,
- «babel-preset-es2015»: «^ 6.18.0»,
- «babel-preset-stage-2»: «^ 6.18.0»,
но лексический это не только окно не определено, почему?
hmmm ...., ok, ваш ответ очень полезен, спасибо :) – Agata
Вы можете передать '{modules: false}' в качестве своих опций 'babel-preset-es2015', чтобы остановить обработку модуля, если хотите. – loganfsmyth
Интересно, к чему это приведет. Я имею в виду, что babel не может действительно знать, будет ли он выполнен в браузере или в другой среде, верно? – Forivin