JavaScript中是否有一种方法可以检查对象是否适合某种"模板"而不是单独检查每个值?
即。我在node.js应用程序中加载了一个config.json文件,我需要确保它具有所有必需的配置选项,并为那些不存在的用户填充默认值。我宁愿只有一个"默认"配置对象并将加载的对象与它进行比较,并使用默认数据填充缺失的数据,而不是比较每个单独的密钥。
答案 0 :(得分:3)
您可以使用Object.assign
覆盖默认值。这是此问题的原生解决方案,之前人们使用下划线" mixin"和jquery""延伸"得到这种行为。
Object.assign(target,... sources)
var defaults = {
name: defaultName
}
function Factory(options={}) {
this.settings = Object.assign({}, defaults, options);
}
Factory.prototype.getName = function() {
return this.settings.name;
}
var myFactory = new Factory({name: "myFactory"});
myFactory.getName(); //returns "myFactory"