Модификация объектов JavaScript: добавление, изменение, удаление свойств

Руководство описывает доступ к свойствам объектов JavaScript, добавление новых, изменение существующих и удаление свойств.

Доступ к свойствам объектов

Создадим переменную myCity с помощью const, что делает её значение неизменяемым. myCity — объект с тремя парами «имя-значение». Имена — свойства, значения — данные любого типа JavaScript (строка, число, булево значение, undefined, символ или объект).

Для доступа к свойству используется точечная нотация. Например:

const myCity = {
  city: "New York",
  popular: true
};

console.log(myCity.city); // Выведет "New York"
console.log(myCity.popular); // Выведет true

После точки следует имя свойства без кавычек.

Изменение свойств объектов

Изменение значения осуществляется с помощью точечной нотации:

myCity.city = "Las Vegas";
console.log(myCity.city); // Выведет "Las Vegas"

Добавление свойств объектов

Новые свойства добавляются с помощью точечной нотации:

myCity.country = "USA";
console.log(myCity); // Выведет { city: "Las Vegas", popular: true, country: "USA" }

Удаление свойств объектов

Для удаления используется ключевое слово delete:

delete myCity.country;
console.log(myCity); // Выведет { city: "Las Vegas", popular: true }

delete — оператор, за которым следует имя удаляемого свойства.

Квадратная нотация

Помимо точечной, существует квадратная нотация. Она позволяет использовать переменные в качестве имён свойств:

myCity["popular"] = false; // Изменение существующего свойства
console.log(myCity);

let countryPropertyName = "country";
myCity[countryPropertyName] = "USA"; // Добавление нового свойства
console.log(myCity);

В квадратных скобках — строка, представляющая имя свойства. Квадратная нотация удобна, когда имя свойства хранится в переменной. Точечная нотация предпочтительнее, если имя известно заранее.

Вложенные объекты

Если свойство — объект (вложенный объект), доступ к его свойствам осуществляется с помощью нескольких точек или квадратных скобок:

const myCity = {
  city: "New York",
  info: {
    popular: true,
    country: "USA"
  }
};

console.log(myCity.info.popular); // Выведет true
delete myCity.info["popular"];
console.log(myCity);

Глубина вложенности может быть произвольной.

Руководство рассмотрело основные методы работы со свойствами объектов JavaScript: доступ, изменение, добавление и удаление. Точечная нотация обычно предпочтительнее, но квадратная необходима, когда имя свойства определяется динамически. Методы работы с вложенными объектами аналогичны.

Что будем искать? Например,программа