我有一个 ClockObj,它有一个处于“HAS A”OOP 关系的 AlarmObj。或者我应该说通过构造函数注入。
在 AlarmObj 内部,我有一个 isAlarmOn 布尔变量。我正在使用 getter 返回它。
get getAlarmOnOffStatus() { return this.isAlarmOn; }
所以在 ClockObj 里面我有:
if (this.AlarmObj.getAlarmOnOffStatus === true) }
但是它返回未定义,并且在调试时我发现 getter 是在 if 语句之后调用的。
我根据你的描述创建了这个结构并且它有效
class AlarmObj {
isAlarmOn = true
get getAlarmOnOffStatus() { return this.isAlarmOn; }
}
class ClockObj {
AlarmObj = new AlarmObj()
constructor() {
if (this.AlarmObj.getAlarmOnOffStatus === true) {
console.log('works')
}
}
}
new ClockObj()