提问人:Alex Mortez 提问时间:11/10/2022 更新时间:11/10/2022 访问量:19
在 javascript 中,如何让类通过引用获取对象的属性?
In javascript, how do I make a class take an object's properties by reference?
问:
我不想使用关键字,因为我正在制作浏览器扩展,并且我只能访问实例,而不能访问类定义。所以我想知道是否有可能通过引用将实例的道具分配给我的类实例。下面是一个简短的例子来说明我的意思。extends
https://jsfiddle.net/aL3n2fek/
我不想做,因为那样我就不得不做this.obj = obj
c.obj.speed
const obj = {
speed: 105
}
class Car {
constructor(obj){
Object.assign(this, obj)
}
}
const c = new Car(obj);
console.log(c.speed) // logs out 105
obj.speed = 120
console.log(c.speed) // logs out 105 when I want it to log out 120
答:
1赞
Matt Ellen
11/10/2022
#1
您可以使用 getter 和 setter。
const obj = {
speed: 105
};
class Car
{
#obj
constructor(obj)
{
this.#obj = obj;
}
get speed()
{
return this.#obj.speed;
}
set speed(value)
{
this.#obj.speed = value;
}
}
const c = new Car(obj);
console.log(c.speed) // logs out 105
obj.speed = 120
console.log(c.speed)
上一个:传递对抽象类对象的引用
下一个:具有同一对象的 C++ 复制分配
评论