Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么';这是绑定ES6类&x27;s";这";到箭头函数?_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript 什么';这是绑定ES6类&x27;s";这";到箭头函数?

Javascript 什么';这是绑定ES6类&x27;s";这";到箭头函数?,javascript,ecmascript-6,Javascript,Ecmascript 6,我想将类方法分离到它们自己的文件中。例如,如果我在test.js中有这样一个简单的类: export default class TestClass { testFunction(...args) { return require('./test-function').apply(this, args); } } 然后在test function.js方法中: export default function() { /* `this` keyword

我想将类方法分离到它们自己的文件中。例如,如果我在
test.js
中有这样一个简单的类:

export default class TestClass {

    testFunction(...args) {
        return require('./test-function').apply(this, args);
    }

}
然后在
test function.js
方法中:

export default function() {
    /* `this` keyword works fine */
}
但是,如果我将其更改为箭头函数,则不再起作用(因为词法范围?):

如何正确绑定
,以便我的arrow
test
函数可以使用它?

tl;博士,你不能

如果导出箭头函数,则该函数的词法
this
将绑定到全局对象(非严格模式)或未定义(严格模式)

这就是箭头函数的工作原理。如果需要函数来获取类对象的
this
,则必须使用标准
函数(){}
主体。

tl;博士,你不能

如果导出箭头函数,则该函数的词法
this
将绑定到全局对象(非严格模式)或未定义(严格模式)

这就是箭头函数的工作原理。如果需要函数来获取类对象的
this
,则必须使用标准
函数(){}
正文。

请参见。请参见。
export default () => {
    /* `this` doesn't work anymore */
}