Newbish问题,但我想知道“this”的值对于在javascript类中定义的箭头函数是什么。
它是对包含它的类的引用吗?
例如:
class abc {
testFunction = () => {
//What is the value of 'this' here?
}
}
尝试更好地理解这一点,以了解函数如何传递给ReactJS中的组件。
答案 0 :(得分:1)
您已标记了您的问题“ES6”(也就是说,ES2015)等,但请注意class fields(您使用的语法)不在ES2015 - 或ES2016或ES2017中,并且不会在ES2018中。尽管通过翻译在React社区广泛使用,它仍然是第3阶段提案。
使用该提议,字段初始值设定项的this
与构造函数中的相同:对新构造的实例的引用。该代码相当于:
class abc {
constructor() {
this.testFunction = () => {
// ...
};
}
}
答案 1 :(得分:0)
在这种情况下,this
关键字只是abc的一个实例。例如:
var alphabet = new abc();
alphabet.testFunction();
class abc {
testFunction = () => {
this.x = 30; // is the same as:
alphabet.x = 30;
}
希望这有帮助!有关此关键字的详细信息,请转到https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this