В первом фрагменте heroes
- это массив. Первым элементом массива является объект
{
lol:['l', 'Iron Man' ]
}
. Присваивание деструктуризации устанавливает lol
для этого элемента и устанавливает dc
в undefined
, потому что в массиве нет второго элемента. Вышеупомянутый объект не является массивом, поэтому Array.isArray(lol)
ложно.
const heroes = [{
lol:['l', 'Iron Man' ]
}]
const [element1, element2 ] = heroes;
console.log(element1);
Во втором фрагменте 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 [{lol, dc}] = heroes;
console.log(Array.isArray(lol));