具有默认值的Javascript对象

时间:2016-03-23 02:50:03

标签: javascript

我想要实现的目标看起来很简单,但我不确定它是否可行。

如果没有指定属性,我想要一个返回特定值的对象。例如:

console.log(obj) // Returns "123"
console.log(obj.x) // Returns "ABC"

2 个答案:

答案 0 :(得分:1)

覆盖原型中用于自定义对象的var user = new UserPrincipal(localMachineContext, "MyUser1", "MyPassword", enabled: true); user.Save(); 方法。

toString()

答案 1 :(得分:0)

以下是使用Symbol's toPrimitive的方法:

const primaryColor = {
  default: 'green',
  darker: 'silver',
  lighter: 'white',
}

Object.defineProperty(primaryColor, Symbol.toPrimitive, {
  value: () => primaryColor.default
});

所以,我们得到了类似的东西

console.log('primary color: ' + primaryColor.darker) // returns "primary color: silver"
console.log('primary color: ' + primaryColor) // returns "primary color: green"