вывода) у первого элемента массива сразу же вылезает false, ещё до его изменения?
// Глубокое и неглубокое копирование объектов
// === Неглубокое копирование ===
const persons = {
customer: 'Mike',
shop: 'OneTwo',
date: '15-08-21',
items: [{new: true, name: "Gun"},
{new: false, name: "Ammo"}
]
};
console.group('Исходное состояние');
console.log('Исходный объект:');
console.log(persons);
console.groupEnd();
let customers = {};
for (const key in persons) {
customers[key] = persons[key];
}
// Изменение
customers.customer = 'Annie';
customers.items[0].new = false;
console.group('Последствия изменения');
console.log('Состояние после изменения:');
console.log(persons,customers);
console.groupEnd();
https://t.me/js_noobs_ru :D
Ну, JS, он и в Африке JS :D
Мда.. Вместо того, что бы ответить, на пусть и базовый вопрос по JS, отправляем человека в чатики, а тут сгенерировать 609 мессаг по lin vs. win и office vs. g.doc
тогда бы вместо того чтобы писать эту жалобу, написали бы ответ человеку)
Уже нашёл ответ. Дело в специфике работы дев тулзов.
Допиши console.log(persons.items[0]); перед концом первой группы и увидишь что значение неизмененное В браузере состояние объекта получается когда ты его раскрываешь (в консоли) Если напрямую вывести значение по ключу - получишь то, что было на момент выполнения
Обсуждают сегодня