JavaScript函数:结构化参数作为对象?
我有这样一个JavaScript函数,我不想更改它的签名:JavaScript函数:结构化参数作为对象?,javascript,object,parameters,Javascript,Object,Parameters,我有这样一个JavaScript函数,我不想更改它的签名: const myFunction(颜色、数量){ ... } 我想将函数的结构化参数当作对象来使用,如下所示: const defaults={color:'blue',size:'large'}; 常量myFunction(颜色、数量){ //我知道这行不通,因为JS arguments对象类似于数组, //而且没有指定的密钥 返回{…默认值,…参数}; } console.log(myFunction(红色,22)); /*应输出
const myFunction(颜色、数量){
...
}
我想将函数的结构化参数当作对象来使用,如下所示:
const defaults={color:'blue',size:'large'};
常量myFunction(颜色、数量){
//我知道这行不通,因为JS arguments对象类似于数组,
//而且没有指定的密钥
返回{…默认值,…参数};
}
console.log(myFunction(红色,22));
/*应输出:
{颜色:“红色”,大小:“大”,数量:22}
*/
有什么方法可以访问这样的参数吗?您必须明确地拼写参数名称,才能从中创建对象-您可以使用速记属性语法:
{ color, size }
const defaults={color:'blue',size:'large'};
函数myFunction(颜色、数量){
返回{…默认值、颜色、数量};
}
console.log(myFunction('red',22))代码>当然不是,因为正如您所观察到的,参数不像一个对象。为什么不直接使用…{color,size}
?为什么使用(color,quantity)
?在内部使用参数
返回{…默认值、颜色、数量};