push(): добавить элементы в конец массива
Push добавляет один или несколько элементов в конец существующего массива. Метод изменяет исходный объект и возвращает новую длину, а не новый массив.
Назначение
Push добавляет один или несколько элементов в конец существующего массива. Метод изменяет исходный объект и возвращает новую длину, а не новый массив.
Как это работает
Аргументы добавляются в указанном порядке. Объявление массива через const не запрещает изменение его содержимого. Если нужно сохранить исходный набор, создайте новую коллекцию отдельно.
Пример
const lessons = ["HTML"];
const length = lessons.push("CSS", "JavaScript");
console.assert(length === 3);
console.assert(lessons.join("|") === "HTML|CSS|JavaScript");
const snapshot = [...lessons, "HTTP"];
console.assert(lessons.length === 3 && snapshot.length === 4);
console.log(length, lessons);
Что должно получиться
Исходный массив получает два элемента, результат вызова равен числу 3. Созданный через spread snapshot добавляет элемент в новую коллекцию и не увеличивает старую.
Граница применения и частая ошибка
Ошибка lessons = lessons.push(…) подменяет массив числом, если переменная допускает присваивание. Большой массив не стоит без ограничений разворачивать в аргументы одного вызова: у среды есть ограничения. Вложенные объекты не копируются глубоко при spread.
Самостоятельная проверка
Добавьте объект урока и измените его после push, наблюдая общую ссылку. Затем сравните мутацию и создание нового массива. Запишите, требуется ли вашему компоненту сохранить прежнюю версию данных.
Пример JavaScript проверяйте в собственном учебном файле или консоли своего проекта. Встроенная песочница справочника JavaScript не выполняет. Успешное выполнение в одной среде не гарантирует поддержку метода во всех браузерах.