JavaScript Способы копирования массивов и объектов

 // Способы копирования массивов

let students = ['Сергей', 'Иван', 'Марьяна', 'Ольга', 'Светлана', 'Марина'];

let studentsNew = students.slice(); // Вариант 1
let studentsNew = [].concat(students); // Вариант 2
let studentsNew = [...students]; // Вариант 3
let studentsNew = Array.from(students); // Вариант 4

console.log(studentsNew);

// Способы копирования объектов
const person = {
    name: 'Serge',
    age: 55,
    social: {
        facebook: 'srg',
        vk: '@srg'
    }
}

// Для простых объектов (без вложенности) - вложенные объектв НЕ копируются и остаются ссылками
const personNEW = Object.assign({}, person); // Вариант 1
const personNEW = { ...person }; // Вариант 2

// Для объектов с вложенностью
const personNEW = JSON.parse(JSON.stringify(person));
console.log(personNEW);

Комментарии