Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript函数:结构化参数作为对象?_Javascript_Object_Parameters - Fatal编程技术网

JavaScript函数:结构化参数作为对象?

JavaScript函数:结构化参数作为对象?,javascript,object,parameters,Javascript,Object,Parameters,我有这样一个JavaScript函数,我不想更改它的签名: const myFunction(颜色、数量){ ... } 我想将函数的结构化参数当作对象来使用,如下所示: const defaults={color:'blue',size:'large'}; 常量myFunction(颜色、数量){ //我知道这行不通,因为JS arguments对象类似于数组, //而且没有指定的密钥 返回{…默认值,…参数}; } console.log(myFunction(红色,22)); /*应输出

我有这样一个JavaScript函数,我不想更改它的签名:

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)
?在内部使用
参数
返回{…默认值、颜色、数量};