我想访问一个类变量。但是在构造函数中分配数据。前任:
class Student {
constructor(data) {
this.data = data;
this.extraVariable = "Value"
}
getData() {
return this.data
}
}
var s = new Student({name: 'Abcd', subject: 'Javascript'});
s.name = 'Xyz'; // i want to access name using s.name not s.data.name
// i want to get updated data by calling this
s.getData() // it return { name: 'Xyz', subject: 'Javascript' }
在此类中,在构造函数或 setData 方法中分配数据,但我想直接访问这些数据而无需 this.data.variableName。当我调用 getData 方法时,我只想获取那些数据,而不是其他类变量
注意:成员不应固定名称和主题。如果我想添加更多成员,我不想创建 getName 和 setName 方法,因为成员不固定
原文由 Deep Patel 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如@Hammerbot 已经暗示的那样,您可以遍历对象并将每个属性应用于当前实例:
原始答案:创建 getter 和 setter
您可以在
name
的类上添加 getter 和 setter。这些 getter 和 setter 将引用this.data.name
,但将提供您正在寻找的交互: