Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
const a = [1, 2];
const b = a;
b.push(3);
console.log(a.length, a === [1, 2, 3]);3 false
- Ждать, что
b = aскопирует массив: оба имени указывают на один массив, поэтомуb.push(3)меняет иa, так чтоa.lengthравно3. - Ждать, что
===сравнит элементы: для массивов он проверяет, один ли это массив, а[1, 2, 3]— новый, поэтому результатfalse.
- Как сделать
bотдельной копией, чтобы вaосталось два элемента? - Что напечатает
a === bи почему?