JavaScript嵌套对象中car、inside、outside的属性与结构疑问
嵌套对象的属性区分与结构边界解析
先把你的代码贴出来方便对照:
const myStorage = { 'car': { 'inside': { 'glove box': 'maps', 'passenger seat': 'crumbs' }, 'outside': { 'trunk': 'jack' } } };
一、属性与值的区分
在JavaScript对象里,冒号:左边的是属性名,右边的是对应的值——不管值是字符串、数字,还是另一个嵌套对象:
'car'是最外层对象的属性,它的值是冒号右侧的整个嵌套对象(即{ 'inside': {...}, 'outside': {...} })'inside'是'car'对应对象的属性,它的值是冒号右侧的对象(即{ 'glove box': 'maps', 'passenger seat': 'crumbs' })'outside'同样是'car'对应对象的属性,它的值是冒号右侧的对象(即{ 'trunk': 'jack' })- 你理解的
'glove box'是属性、值为'maps'完全正确,同理'passenger seat'、'trunk'也都是属性,对应的值分别是'crumbs'和'jack'
二、对象的起始/边界识别
每个JavaScript对象都是成对的{}包裹的,匹配大括号就能精准找到每个对象的范围:
- 最外层对象:从第一行的
{开始,到最后一行的}结束,这个对象只包含'car'这一个属性 'car'对应的嵌套对象:从'car': {这里的{开始,到倒数第二行的}结束,里面包含'inside'和'outside'两个属性'inside'对应的嵌套对象:从'inside': {的{开始,到'passenger seat': 'crumbs'下方的}结束'outside'对应的嵌套对象:从'outside': {的{开始,到'trunk': 'jack'下方的}结束
简单说,每看到一个{,就找对应的闭合},中间的内容就是这个对象的全部成员。
内容的提问来源于stack exchange,提问作者Codewell
相关产品推荐
相关产品推荐

