Урок 13. Объекты: карточка героя
Массив хранит список одинаковых вещей. А если у одной вещи много разных свойств?
У героя игры есть имя, здоровье, сила, уровень. Держать это в четырёх переменных неудобно, а в массиве — непонятно, что под каким номером. Для такого есть объект:
let geroy = {
imya: 'Рыцарь',
zdorovie: 100,
sila: 12
};
Внутри фигурных скобок — пары «название: значение», через запятую. Названия зовут свойствами.
Как обращаться к свойствам
console.log(geroy.imya); // Рыцарь
geroy.zdorovie = 80; // ранили
geroy.uroven = 1; // добавили новое свойство
Через точку — читаем, пишем и даже добавляем то, чего в объекте не было.
Объект или массив?
- массив — когда вещи однотипные и важен порядок: список друзей, очки за раунды;
- объект — когда у одной вещи разные свойства: герой, товар, погода в городе.
И их постоянно совмещают: массив объектов — это, по сути, таблица. Список товаров в магазине, список игроков с их очками, лента новостей — всё это устроено так.
document — это объект, а document.querySelector — его свойство, только не значение, а функция. Функцию внутри объекта называют методом.Твой прогресс
Опыт и значки хранятся прямо в этом браузере — ни имени, ни почты для этого не нужно. Все треки и значки →
Частые вопросы
Чем объект отличается от массива в JavaScript?
В массиве элементы пронумерованы и обычно однотипны, а в объекте у каждого значения есть своё имя-свойство. Массив — для списка, объект — для описания одной вещи с разными характеристиками.
Что такое метод объекта?
Это свойство, значением которого является функция. Например, push — метод массива, а querySelector — метод объекта document.