Я хочу разделить методы класса на свои собственные файлы. Например, если у меня есть простой класс, как это в test.js
:Каков наилучший способ привязать «this» класса ES6 к функции стрелки?
export default class TestClass {
testFunction(...args) {
return require('./test-function').apply(this, args);
}
}
, а затем в test-function.js
метод:
export default function() {
/* `this` keyword works fine */
}
Однако, если изменить его на функцию стрелки, то это не работать больше (из-за лексической области видимости?):
export default() => {
/* `this` doesn't work anymore */
}
Как бы я связать this
правильно, поэтому моя стрелка test
функция может использовать его?
См. [Функция стрелки против объявления/выражения функции: эквивалентны ли они/заменяются?] (Http://stackoverflow.com/q/34361379/218196). –