gpt4 book ai didi

javascript - 将 JavaScript 对象与 "default"版本进行比较?

转载 作者:行者123 更新时间:2023-11-30 11:50:54 24 4
gpt4 key购买 nike

在 JavaScript 中有没有一种方法可以检查对象是否适合某种"template",而无需单独检查每个值?

即我正在 node.js 应用程序中加载一个 config.json 文件,我需要确保它具有所有必要的配置选项,并为那些不存在的选项填充默认值。我宁愿只拥有一个“默认”配置对象,并将加载的对象与其进行比较,并用默认数据填充缺失的数据,而不是比较每个单独的键。

最佳答案

您可以使用 Object.assign 覆盖默认值。这是这个问题的 native 解决方案,在此之前人们使用下划线的“mixin”和 jquery 的“extend”来获得此行为。

语法

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"

关于javascript - 将 JavaScript 对象与 "default"版本进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39502222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com