Yan*_*hon 2 javascript destructuring
我有这个函数签名
const foo = (arg, { opt1, opt2, opt3 }) => {
...
};
Run Code Online (Sandbox Code Playgroud)
但我希望第二个参数是可选的,例如调用函数
foo("Hello");
Run Code Online (Sandbox Code Playgroud)
但是,我得到
类型错误:无法解构
opt1“未定义”或“空”的属性。
所以,我很想通过更改函数来解决这个问题,例如:
const foo = (arg, options = {}) => {
const { opt1, opt2, opt3 } = options;
...
};
Run Code Online (Sandbox Code Playgroud)
但是想知道是否有更内联的替代方案?
Nin*_*olz 11
您可以分配一个默认对象并同时进行解构。
undefined如果没有第二个参数 或 ,则结果适用于所有三个解构属性undefined。
const foo = (arg, { opt1, opt2, opt3 } = {}) => {
...
};
Run Code Online (Sandbox Code Playgroud)
小智 5
你可以做:-
const foo = (arg, { opt1, opt2, opt3 } = {}) => {
...
};
Run Code Online (Sandbox Code Playgroud)