JavaScriptУрок 9 из 16

Объекты

Объект собирает в одном месте всё о какой-то вещи: у персонажа есть имя, уровень и умения. Каждое значение лежит под своим ключом.

Главное

  • { name: "Luna", level: 3 } — объект из пар «ключ: значение»
  • hero.name и hero["name"] читают свойство; несуществующее даст undefined
  • hero.city = "…" добавляет свойство, hero.level += 1 меняет его
  • Метод — функция внутри объекта; this в нём указывает на сам объект
  • Object.keys(obj) возвращает массив ключей, "key" in obj проверяет, есть ли ключ

Пример

const book = { title: "Dune", year: 1965, pages: 412 };console.log(book.title, book["year"]); book.rating = 5;console.log(book); for (const key of Object.keys(book)) {  console.log(`${key} → ${book[key]}`);}console.log("author" in book, book.author);

Свойство rating появилось уже после создания объекта — так тоже можно. Цикл по Object.keys прошёл все ключи по порядку, а поля author у книги нет — отсюда false и undefined.

Задание

Как пользоваться редактором⌘ Enter или Ctrl Enter — запустить код, ⇧ ⌘ Enter — проверить задание.Tab и Shift Tab сдвигают строку или выделение; Esc, затем Tab — выйти из редактора.Проверка сравнивает то, что напечатала программа, с заданием; пробелы в конце строк не важны.После двух неудачных проверок можно открыть решение. Ваш код сохраняется в этом браузере.

Прокачайте героя: поднимите level на 1, добавьте свойство city со значением Riverwood и умение alchemy в skills, а метод describe() пусть возвращает Luna (level 4) from Riverwood. Вывод: Luna (level 4) from Riverwood, Skills: stealth, archery, alchemy и name, level, skills, describe, city.

Вывод

Здесь появится то, что напечатает программа.