[英]JavaScript nested object default value
所以如果我有一个像这样定义的对象:
var object = {
prop1: 'val1',
prop2: 'val2',
prop3: {
subprop1: 'subval1',
subprop2: 'subval2',
subprop3: 'subval3'
}
}
我想知道的是是否有办法设置“默认”值,所以如果我调用:
object.prop3
我不想得到:
Object {subprop1: "subval1", subprop2: "subval2", subprop3: "subval3"}
相反,我想:
defaultsubval
任何帮助,将不胜感激。
正如上面提到的 cookie Monster 和 jfriend00。 仅使用对象符号是不可能的。 Javascript 只是不能那样工作。 但是,我通过获取请求的子对象的名称找到了另一种做同样事情的方法
以下是使用Symbol 的 toPrimitive 的方法:
const myTheme = {
prop1: 'val1',
prop2: 'val2',
color: {
darker: 'orange',
lighter: 'white'
}
}
Object.defineProperty(myTheme.color, Symbol.toPrimitive, {
value: () => 'yellow'
});
所以,我们得到了类似的东西:
console.log('primary color: ' + myTheme.color.darker) // returns "primary color: orange"
console.log('primary color: ' + myTheme.color) // returns "primary color: yellow"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.