Изменить значение свойства в объекте можно теми же способами, что и добавлять новые свойства: через точечную нотацию или квадратные скобки. Если свойство уже существует, оно просто получит новое значение.
Изменение значений свойств — одна из самых частых операций с объектами в JavaScript. Это просто и интуитивно понятно.
Самый простой и часто используемый способ:
const user = { name: 'Иван', age: 25 };
user.name = 'Петр'; // Меняем значение свойства name
user.age = 30; // Меняем значение свойства ageПозволяет использовать переменные и сложные ключи:
const user = { name: 'Иван', age: 25 };
user['name'] = 'Петр'; // То же самое, что и через точкуconst car = { brand: 'Toyota', year: 2020 };
car.brand = 'Honda'; // Меняем марку
car.year = 2021; // Меняем годconst user = {
name: 'Иван',
address: { city: 'Москва', street: 'Ленина' }
};
user.address.city = 'Санкт-Петербург'; // Меняем город// Для простых ключей без пробелов
user.name = 'Новое имя';
car.model = 'Новая модель';// Для переменных или сложных ключей
const key = 'name';
user[key] = 'Новое имя';
// Для ключей с пробелами
user['user name'] = 'Иван';const original = { name: 'Иван' };
const copy = original;
copy.name = 'Петр';
console.log(original.name); // 'Петр' - исходный объект тоже изменился!const user = { name: 'Иван' };
user.age = 25; // Если свойства не было - оно создастся// ❌ Ошибка при неправильном использовании
const user = { name: 'Иван' };
const key = 'nonexistent';
user.key = 'value'; // Создаст свойство 'key', а не значение переменной key
// ✅ Правильно
user[key] = 'value'; // Создаст свойство 'nonexistent'// ❌ Неожиданные изменения
function changeUser(user) {
user.name = 'Новое имя'; // Меняет исходный объект!
}
const originalUser = { name: 'Иван' };
changeUser(originalUser);
console.log(originalUser.name); // 'Новое имя'Изменение свойств объектов — базовая операция в JavaScript. Понимание простых правил помогает избежать ошибок и писать предсказуемый код.
Хотите больше статей для подготовки к собеседованиям? Подписывайтесь на EasyAdvice, добавляйте сайт в закладки и совершенствуйтесь каждый день 💪