Как заменить значение в объекте js
Пример замены с Object.defineProperty()
.
Этот метод позволяет определить новое или изменить существующее свойство объекта, используя дескриптор свойства.
Пример:
const obj = {
name: 'John',
age: 30,
};
Object.defineProperty(obj, 'age', {
value: 35,
});
console.log(obj.age); // 35
В этом примере мы создали объект obj
с двумя свойствами: name
и age
. Затем мы использовали метод Object.defineProperty()
для изменения значения свойства age
на 35
.
Дескриптор свойства передается вторым аргументом метода Object.defineProperty()
. В данном случае мы использовали дескриптор со свойством value
, которое устанавливает новое значение свойства.
Также можно использовать другие свойства дескриптора, такие как writable
, enumerable
и configurable
, чтобы определить дополнительные характеристики свойства.
Пример:
const obj = {
name: 'John',
age: 30,
};
Object.defineProperty(obj, 'age', {
value: 35,
writable: false, // запрещаем изменение значения свойства
});
obj.age = 40; // не сработает
console.log(obj.age); // 35
В этом примере мы использовали свойство writable
дескриптора, чтобы запретить изменение значения свойства age
. Попытка изменить значение свойства age
на 40
не сработает, и значение свойства останется равным 35
.
Таким образом, метод Object.defineProperty()
позволяет определять или изменять свойства объекта, включая их значения и дополнительные характеристики.
Для замены значения в объекте, нужно присвоить новое значение, обратившись к ключу объекта, например:
const user = {
name: 'Ivan',
age: 39,
};
user.age = 27;
console.log(user); // => {name: 'Ivan', age: 27}
К ключу объекта также можно обращаться динамически:
const user = {
name: 'Ivan',
age: 39,
};
const key = 'age';
user[key] = 27;
console.log(user); // => {name: 'Ivan', age: 27}