我有以下对象
{
a: "123"
b: "$a"
}
b
应始终具有a
的值。
我是否知道如何使用JavaScript?
答案 0 :(得分:2)
您可以对属性b
使用getter方法和对象。
var obj = {
a: "123",
get b() {
return this.a;
}
};
console.log(obj.b);
否则,您正在寻找ES6功能Proxy
Proxy
对象用于定义基本操作的自定义行为(例如属性查找,赋值,枚举,函数调用等)。
然后选择prop
并检查该值是否包含$
并返回此属性的此值。
var obj = { a: "123", b: "$a" },
p = new Proxy(obj, {
get: function(target, prop) {
return target[prop][0] === '$' ? target[target[prop].slice(1)] : target[prop];
}
});
console.log(p.b);
答案 1 :(得分:0)
如果您的意思是真正的JavaScript对象,则可以通过Object.defineProperty()
使用getter和setter来完成此操作。
答案 2 :(得分:-1)
或者你可以创建一个“类”
var obj= new function()
{
this.a=1212,
this.b=this.a
}
console.log(obj.b)