繁体   English   中英

JavaScript function 中的可选解构参数

[英]JavaScript optional destructuring argument in function

我有这个 function 签名

const foo = (arg, { opt1, opt2, opt3 }) => {
   ...
};

但我希望第二个参数是可选的,例如调用 function 之类的

foo("Hello");

但是,我得到

TypeError:无法解构“未定义”或“空”的属性opt1

因此,我很想通过更改 function 来解决此问题,例如:

const foo = (arg, options = {}) => {
   const { opt1, opt2, opt3 } = options;

   ...
};

但是想知道是否有更多的内联替代方案?

您可以分配一个默认的 object 并同时进行解构。

如果没有第二个参数或undefined ,则所有三个解构属性的结果都是undefined的。

const foo = (arg, { opt1, opt2, opt3 } = {}) => {
   ...
};

您可以在声明 function 时执行此操作{ opt1, opt2, opt3 } = {}

你可以做:-

const foo = (arg, { opt1, opt2, opt3 } = {}) => {

   ...
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM