Как заменить значение в объекте js

Аватар пользователя Aleksey
Aleksey
05 апреля 2023

Пример замены с 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() позволяет определять или изменять свойства объекта, включая их значения и дополнительные характеристики.

1 0
Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
22 июля 2022

Для замены значения в объекте, нужно присвоить новое значение, обратившись к ключу объекта, например:

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}
0 0
Основы Frontend за 14 дней
  • 72 урока в онлайн-тренажере
  • 4 живых вебинара и масскодинг
  • Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки