为了账号安全,请及时绑定邮箱和手机立即绑定

函数中的 JavaScript 可选解构参数

函数中的 JavaScript 可选解构参数

三国纷争 2022-10-13 15:34:09
我有这个函数签名const foo = (arg, { opt1, opt2, opt3 }) => {   ...};但我希望第二个参数是可选的,例如调用函数foo("Hello");但是,我得到TypeError:无法解构opt1“未定义”或“空”的属性。因此,我很想通过更改以下功能来解决此问题:const foo = (arg, options = {}) => {   const { opt1, opt2, opt3 } = options;   ...};但是想知道是否有更多的内联替代方案?
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

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


如果没有第二个参数或 ,则结果适用undefined于所有三个解构属性undefined。


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

   ...

};


查看完整回答
反对 回复 2022-10-13
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

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



查看完整回答
反对 回复 2022-10-13
?
www说

TA贡献1775条经验 获得超8个赞

你可以做:-


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


   ...

};


查看完整回答
反对 回复 2022-10-13
  • 3 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信