【发布时间】:2020-03-22 13:37:22
【问题描述】:
我正在研究这个内部对象方法的行为,但我卡在了一个输出上。
这是代码。
'use strict';
let obj, method;
obj = {
go() { alert(this); }
};
obj.go(); // (1) [object Object]
(obj.go)(); // (2) [object Object] QUESTION 2
(method = obj.go)(); // (3) undefined
(obj.go || obj.stop)(); // (4) undefined ------> Doubt <-------------------
那么如果第四个在逻辑上等价于第二个,为什么逻辑OR会导致上下文丢失?
第二部分
如果我错了,请纠正我。
通过函数声明/表达式调用/调用它的方式发生此评估。
在箭头函数内部,
this始终引用其封闭的父级。 [词法范围]
【问题讨论】:
标签: javascript object methods ecmascript-6 this