Недавно разобрался как присваивать ссылки другим объектам, сейчас пытаюсь освоить клонирование элементов, именно что бы были разные элементы и разные ячейки памяти, подскажите как можно сделать точную копию объекта а затем заменить некоторые свойства?
Тут всё очень просто, объясню на примере:
var teacher = {
name: "Drake",
subject:"Math",
class_room:"16"
};
var clone_teacher = {};
for (var key in teacher) {
clone_teacher[key] = teacher[key];
}
clone_teacher.name ="Lidiya";
clone_teacher.subject = "Biology";
clone_teacher.class_room="15"
alert( clone_teacher.name );
alert( clone_teacher.subject );
alert( clone_teacher.class_room );
alert( teacher.name );
alert( teacher.subject );
alert( teacher.class_room );
Суть такова, мы создаем объект учитель, с тремя свойствами, далее создаем пустой объект, и с помощью конструкции for(var key in teacher) перебираем все свойства учителя и передаем их клону, далее просто обращаемся к полям через клона и меняем значения, если запустить пример в браузере то будет видно что сначала у нас выводится наш новый учитель (клон с измененными свойствами), а затем исходник, с которого копировали)
Можешь глянуть видео уроки на itvdn, там очень хорошо и структурно рассказывают о языке и его особенностях, так же целый урок уделен массивам, вот ссылка - https://itvdn.com/ru/video/javascript-essential