待解构字段为原始值.1
作者:互联网
正常情况下,
const obj = { a: 1, b: 2, }; const { a, b } = obj; console.log(a, b); // 1 2
当被解构字段缺失时,
const obj = { a: 1, }; const { a, b } = obj; console.log(a, b); // 1 undefined
此时可在解构时使用 =
指定默认值:
const obj = { a: 1, }; const { a, b = 2 } = obj; console.log(a, b); // 1 2
解构时指定别名
你甚至可以在解构字段的同时为其重命名,
const obj = { a: 1, b: undefined } const { a, b: c = 2 } = obj; console.log(a, c) // 1 2
上述过程其实为:
- 创建变量
c
- 获取
obj.b
并赋值给c
- 如果
obj.b
为undefined
,则将指定的默认值2
赋值给c
上面的过程等同于:
const c = obj.b || 2
待解构字段为对象
考察如下的对象:
const obj = { innerObj: { a: 1, b: 2 } }
正常情况下可通过如下的形式解构以得到内层的字段:
const obj = { innerObj: { a: 1, b: 2, }, }; const { innerObj: { a, b = 2 }, } = obj; console.log(a, b); // 1 2
但如果里面嵌套的对象缺失时,上面的解构会报错:
const obj = {}; const { innerObj: { a, b = 2 }, } = obj; console.log(a, b); //标签:obj,show,解构,字段,原始,const,com,id,ttarticle 来源: https://www.cnblogs.com/yuanxisui/p/14679456.html