解构
解构数组对象其实都还挺简单理解的,但是在函数中解构的同时带上默认值就有点不太好理解了
1 | function f({ a = "", b = 0 } = {}): void {} |
初读很乱,我们从外往里拆:
- ① 最外层:= {}
1 | function f(param = {}) {} |
当调用 f() 时,如果没有传参数,就用一个空对象 {}
不然解构会出现问题 如果解构 undefined 或 null 会出现问题
解构底层就是在读对象属性,而 undefined / null 不能读属性
- ② 中间层:对象解构 { a, b }
1 | function f({ a, b }) {} |
从参数对象中取出 a 和 b
- ③ 内层:属性默认值
1 | { a = "", b = 0 } |
如果对象里:没有 a → 用 “” 没有 b → 用 0
这是“二层默认值”:
外层默认保证参数一定是对象,
内层默认保证对象里的属性一定有值
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 YianNotes!

