wal*_*lee 1 javascript arrays json object destructuring
我是一个新的 javascript 学习者,目前正在学习解构。我的问题是在我编辑了一点的片段中。控制台说它是一个数组,但我不认为它应该是?
1:这怎么不是数组?
const heroes = [{
lol: ['l', 'Iron Man']
}]
const [lol, dc] = heroes;
console.log(Array.isArray(lol)); Run Code Online (Sandbox Code Playgroud)
2:这个怎么是一个数组?
const heroes = {
lol: ['l', 'Iron Man']
}
const {lol, dc} = heroes;
console.log(Array.isArray(lol));Run Code Online (Sandbox Code Playgroud)
在第一个片段中,heroes是一个数组。数组的第一个元素是对象
{
lol:['l', 'Iron Man' ]
}
Run Code Online (Sandbox Code Playgroud)
解构赋值设置lol为此元素,并设置dc为undefined因为数组中没有第二个元素。上面的对象不是数组,所以Array.isArray(lol)是假的。
{
lol:['l', 'Iron Man' ]
}
Run Code Online (Sandbox Code Playgroud)
在第二个片段中,heroes是一个对象。解构赋值设置lol为lol对象中属性的值,即['l', 'Iron Man']。它设置dc为dc属性;因为它不存在,所以它被设置为undefined. Since lol is set to an array,Array.isArray(lol)` 是真的。
如果要设置lol为第一个片段中的数组,则需要另一层嵌套。
const heroes = [{
lol:['l', 'Iron Man' ]
}]
const [element1, element2 ] = heroes;
console.log(element1); Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |