JavaScript嵌套对象默认值

JavaScript嵌套对象默认值,javascript,json,nested,default-value,javascript-objects,Javascript,Json,Nested,Default Value,Javascript Objects,如果我有一个这样定义的对象: var object = { prop1: 'val1', prop2: 'val2', prop3: { subprop1: 'subval1', subprop2: 'subval2', subprop3: 'subval3' } } 我想知道的是,是否有办法设置“默认”值,因此如果我调用: object.prop3 我不想得到: Object {subprop1: "su

如果我有一个这样定义的对象:

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就是不能这样工作。然而,我发现了另一种做同样事情的方法,即

因此,我们得到了如下结果:

console.log('primary color: ' + myTheme.color.darker) // returns "primary color: orange"
console.log('primary color: ' + myTheme.color) // returns "primary color: yellow"

你到底想达到什么目的?是否要实现自定义属性getter?@p.s.w.g我更喜欢尽可能内联的内容。。。例如,如果我能做到这一点,我会很高兴:var object={prop:'defaultval'{subop:'subval'}};但我知道我做不到…不,这不可能。当您访问
object.prop3
时,它怎么知道您是在默认情况下停在那里,还是要从对象中实际获取属性?如果您继续使用另一个属性,它是来自对象还是您返回的默认值?@cookiemonster可能会向前看,看看是否有对子对象的请求?我真的不知道该怎么写。@LeinardoSmtih:它怎么知道对
object.prop3
结果的属性请求应该来自默认值或子对象?我只是在解释为什么不能这样做。
console.log('primary color: ' + myTheme.color.darker) // returns "primary color: orange"
console.log('primary color: ' + myTheme.color) // returns "primary color: yellow"