自最新版本的JavaScript以来,合并默认函数参数的最有效方法是什么?
我想实现的目标:
var defaultParam = {a: 1};
function foo(param = defaultParam) {
// desired result : param = {a: 1, b: 2}
}
var passedParam = {b: 2};
foo(passedParam)
相反,在函数的第一行上创建一个新对象,放入默认值,然后用传递的对象(如果有)中的属性覆盖其属性:
var defaultParam = {a: 1};
function foo(param) {
const cleanParam = { ...defaultParam, ...param };
console.log(cleanParam);
}
var passedParam = {b: 2};
foo(passedParam)
您可以在函数内部使用它,而不能将其用作函数的默认参数:
var defaultParam = {a: 1};
function foo(param) {
param = {
...defaultParam,
...param
}
console.log(param);
}
var passedParam = {b: 2};
foo(passedParam)