[英]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.