函数中的 JavaScript 可选解构参数

我有这个函数签名


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

   ...

};

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


foo("Hello");

但是,我得到


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


因此,我很想通过更改以下功能来解决此问题:


const foo = (arg, options = {}) => {

   const { opt1, opt2, opt3 } = options;


   ...

};

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


三国纷争
浏览 136回答 3
3回答

Smart猫小萌

您可以分配一个默认对象并同时进行解构。如果没有第二个参数或 ,则结果适用undefined于所有三个解构属性undefined。const foo = (arg, { opt1, opt2, opt3 } = {}) => {   ...};

白衣染霜花

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

www说

你可以做:-const foo = (arg, { opt1, opt2, opt3 } = {}) => {   ...};
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript