您可以使用:
for(让{user,age=“DEFAULT age”,geo:{lat,long}}个用户){console.log(用户、年龄、纬度、长度);}
你已经成功破坏了用户
(简单地按对象中的属性名称)和年龄
(也使用默认值)。
使用嵌套破坏,一步一步,只需输入属性名地理
在这里,因为这是您正在迭代的对象的下一个属性,其中包含您需要的值:
{user,age=“默认年龄”,地理}
— 这将产生{纬度:“12”,长度:“13”}
对于地理
.
要直接访问嵌套属性,请遵循对象结构:
{user,age=“默认年龄”,地理位置:{}}
— 这将验证这一点地理
确实是一个对象。
然后,列出要在该对象中访问的属性:
{user,age=“默认年龄”,地理位置:{lat,long}}
— 这将产生"12"
对于纬度
和"13"
对于长的
.
你甚至可以更进一步重命名这些属性:
{user,age=“默认年龄”,地理位置:{lat:纬度,long:经度}}
— 这将产生"12"
对于纬度
和"13"
对于经度
.
以下是破坏对象的基本情况:
名称
表示“只需将整个值赋给名称
”.
{}
表示“检查要销毁的值是否是一个对象或可以转换为一个对象,即两者都不是无效的
也不是未定义
; 不创建变量”。
{道具}
表示“获取支柱
作为变量支柱
”.
{prop:重命名}
意思是“遵循支柱
属性并获取其值作为变量重命名
”1.
{prop=值}
表示“获取支柱
作为变量支柱
,但分配价值
如果支柱
产量未定义
”2.
对于“重命名”情况,规则递归应用:重命名
就像是名称
,因此可以替换为{}
,或{另一个属性}
,或{anotherProp:anotherRename}
,或{anotherProp=anotherDefault}
等。
同一对象级别上的其他属性可以通过逗号添加,如{propA,propB}
.
对于阵列,存在类似的情况:[]
将验证要销毁的值是否为可迭代的对象;[甲,乙]
含义与{0:a,1:b}
; 等。
1:注意,在{prop:某物}
无变量支柱
已创建。
2:“产量未定义
“意味着对象.prop
将等于未定义
这意味着该属性存在并且具有文字值未定义
或者该属性不存在。