К содержанию

Объекты

Как хранить связанные данные под понятными именами свойств.

Объект объединяет связанные значения под именами свойств. Например, имя, цена и категория могут описывать один товар.

main.js
const product = {
  name: "Блокнот",
  price: 250,
  category: "Канцелярия",
};
 
console.log(product.name); // "Блокнот"

name, price и category – названия свойств, или ключи; значения справа от двоеточия – данные. Через точку читают и меняют свойство:

main.js
product.price = 300;
product.inStock = true;

Если имя свойства хранится в переменной или содержит пробел, используйте квадратные скобки:

main.js
const propertyName = "price";
console.log(product[propertyName]);

В объекте могут быть вложенные объекты и массивы:

main.js
const student = {
  name: "Алексей",
  address: {
    city: "Москва",
    street: "Ленина",
  },
};
 
console.log(student.address.city);

Переменная const не запрещает менять свойства объекта. И ещё одна важная особенность: если присвоить объект другой переменной, обе переменные будут ссылаться на один и тот же объект.

main.js
const first = { value: 3 };
const second = first;
second.value = 4;
 
console.log(first.value); // 4

Поэтому const защищает привязку имени first к объекту, но не копирует и не замораживает сам объект. Больше примеров создания и чтения объектов есть в руководстве MDN.