0
次のコードでは、obj1のオブジェクトリテラルでは、両方の関数の 'this'がobj1を参照しているが、太い矢印それはしません。なぜ誰かが説明できますか?私は、関数が等価であるか、太い矢印関数の中では、thisがobj1として字句的に定義されると想定していました。'this' in arrow関数とオブジェクトリテラルの非矢印関数
var obj1 = {
name : 'name1',
standardFunction : function() {
console.log(this.name); // Refers to obj1
},
fatArrowFunction :() => { // Refers to the global object
console.log(this.name);
}
}
obj1.standardFunction();
obj1.fatArrowFunction();
'this' *は字句解析されています。私。 'obj1'が定義されている環境の' this'の値を参照します。そして、そこには、「これ」は「obj1」を参照していません。 –