Можно ли изменить объект в const
1️⃣ Как кратко ответить
Да, объект, объявленный с помощью const, можно изменять. const предотвращает переназначение переменной, но не делает сам объект неизменяемым. Можно изменять свойства объекта.
2️⃣ Подробное объяснение темы
Когда мы объявляем переменную с помощью const, это означает, что мы не можем переназначить эту переменную на другое значение. Однако, если переменная является объектом, то мы можем изменять его внутренние свойства. Это связано с тем, что const защищает только саму ссылку на объект, а не его содержимое.
Рассмотрим пример:
const person = {
name: 'Alice',
age: 30
};
// Изменяем свойство объекта
person.age = 31; // Это допустимо
// Добавляем новое свойство
person.city = 'New York'; // Это тоже допустимо
// Пытаемся переназначить переменную
// person = {}; // Это вызовет ошибку
-
const person = { name: 'Alice', age: 30 };— здесь мы объявляем объектpersonс двумя свойствами:nameиage. Переменнаяpersonявляется константой, что означает, что мы не можем переназначить её на другой объект. -
person.age = 31;— мы изменяем значение свойстваageобъектаperson. Это допустимо, так как мы не изменяем саму ссылку на объект, а только его содержимое. -
person.city = 'New York';— добавляем новое свойствоcityв объектperson. Это также допустимо по той же причине. -
person = {};— попытка переназначить переменнуюpersonна новый объект вызовет ошибку, так какconstне позволяет изменять ссылку на объект.
Таким образом, const гарантирует, что переменная всегда будет ссылаться на один и тот же объект, но не ограничивает изменения внутри этого объекта. Это полезно, когда нужно защитить ссылку на объект от случайного переназначения, но при этом требуется возможность изменять его содержимое.
🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!
Подписаться