Проверяет понимание мутации данных и различий между мутирующими и немутирующими методами массивов в JavaScript.
В JavaScript мутация означает изменение существующей структуры данных (массива, объекта) без создания новой. Если метод изменяет массив, на котором вызван, он называется мутирующим. Если возвращает новый массив, оставляя исходный без изменений — немутирующим.
К мутирующим относятся: push, pop, shift, unshift, splice, sort, reverse. Они меняют длину и содержимое исходного массива.
const arr = [1, 2, 3];
arr.push(4); // arr теперь [1, 2, 3, 4]
arr.splice(1, 1); // arr теперь [1, 3, 4]Немутирующие методы: map, filter, slice, concat, reduce, flat. Они возвращают новый массив, не изменяя исходный.
const original = [1, 2, 3];
const doubled = original.map(x => x * 2); // [2, 4, 6]
console.log(original); // [1, 2, 3]Мутация может вызывать неожиданные побочные эффекты, особенно при передаче массива в функции или при работе с состоянием в React. Немутирующий подход упрощает отслеживание изменений и делает код более предсказуемым.
Используйте немутирующие методы, когда нужно сохранить исходные данные, особенно в функциональном программировании и при работе с состоянием. Мутирующие методы удобны для быстрых операций, но требуют осторожности.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию