一尘不染

设置javascript对象属性的默认值

javascript

有没有一种方法可以设置javascript对象的默认属性,例如:

var emptyObj = {};
// do some magic
emptyObj.nonExistingAttribute // => defaultValue

IE可以忽略,Chrome Frame减轻了我的头痛。


阅读 2493

收藏
2020-05-01

共1个答案

一尘不染

自从几年前我问这个问题以来,事情进展顺利。

代理是ES6的一部分。以下示例可在Chrome,Firefox,Safari和Edge中运行:

var handler = {
  get: function(target, name) {
    return target.hasOwnProperty(name) ? target[name] : 42;
  }
};

var p = new Proxy({}, handler);

p.answerToTheUltimateQuestionOfLife; //=> 42
2020-05-01