🎮 JavaScript и мини-игры Урок 13 из 16 · 0 из 16

Урок 13. Объекты: карточка героя

Массив хранит список одинаковых вещей. А если у одной вещи много разных свойств?

У героя игры есть имя, здоровье, сила, уровень. Держать это в четырёх переменных неудобно, а в массиве — непонятно, что под каким номером. Для такого есть объект:

let geroy = {
  imya: 'Рыцарь',
  zdorovie: 100,
  sila: 12
};

Внутри фигурных скобок — пары «название: значение», через запятую. Названия зовут свойствами.

Как обращаться к свойствам

console.log(geroy.imya);      // Рыцарь
geroy.zdorovie = 80;          // ранили
geroy.uroven = 1;             // добавили новое свойство

Через точку — читаем, пишем и даже добавляем то, чего в объекте не было.

Объект или массив?

  • массив — когда вещи однотипные и важен порядок: список друзей, очки за раунды;
  • объект — когда у одной вещи разные свойства: герой, товар, погода в городе.

И их постоянно совмещают: массив объектов — это, по сути, таблица. Список товаров в магазине, список игроков с их очками, лента новостей — всё это устроено так.

Подсказка. Почти всё в JavaScript — объект. Даже страница: document — это объект, а document.querySelector — его свойство, только не значение, а функция. Функцию внутри объекта называют методом.

Твой прогресс

Опыт и значки хранятся прямо в этом браузере — ни имени, ни почты для этого не нужно. Все треки и значки →

Частые вопросы

Чем объект отличается от массива в JavaScript?

В массиве элементы пронумерованы и обычно однотипны, а в объекте у каждого значения есть своё имя-свойство. Массив — для списка, объект — для описания одной вещи с разными характеристиками.

Что такое метод объекта?

Это свойство, значением которого является функция. Например, push — метод массива, а querySelector — метод объекта document.