← Назад ко всем вопросам

Можно ли изменить объект в 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 гарантирует, что переменная всегда будет ссылаться на один и тот же объект, но не ограничивает изменения внутри этого объекта. Это полезно, когда нужно защитить ссылку на объект от случайного переназначения, но при этом требуется возможность изменять его содержимое.

Тема: JavaScript
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки