Итоги
В этом уроке вы узнали, что:
- Объект хранит вместе значения, которые описывают одну вещь:
{ name: "Рекс", species: "собака", age: 3 }. Он состоит из свойств: ключа, двоеточия и значения. Свойства разделяются запятыми. console.log(pet)выводит объект так, как он записан в коде. Чтобы добавить подпись, отделите её запятой:console.log("Питомец:", pet). С+объект превратился бы в[object Object].- Свойство читают через точку:
pet.name. Свойство, которого в объекте нет, даётundefined. В ключах важны заглавные и строчные буквы. - В квадратных скобках ключ может лежать в переменной:
stock[fruit].stock["peaches"]— то же самое, чтоstock.peaches. - Присваивание меняет свойство (
pet.age = 3;) или добавляет новое (pet.owner = "Ева";). Это работает и с объектом в константе; нельзя только положить в константу другой объект. - Массив объектов хранит много объектов одного вида.
pets[1].name— это имя второго питомца. - Цикл
for...ofпроходит по такому массиву по одному объекту. Можно выводить объекты, складывать значения какого-нибудь свойства или выбирать часть объектов черезif. - Функция может принять объект или массив объектов в качестве аргумента, а также может вернуть новый объект.
- Функция, хранящаяся в объекте, называется методом, как
logвconsole.log().
В следующем уроке, «Методы массивов», вы узнаете методы, которые делают работу многих циклов из этого урока в одну строку: они выбирают объекты из массива, преобразуют их в другие значения, находят нужный или сортируют. После него вас ждёт ещё один небольшой проект, «Футбольная лига», в котором вы примените функции, объекты и методы массивов.
А сейчас немного практики. Библиотека в редакторе хранит список своих книг.
Задание
- 1
Напишите функцию
printAvailable, которая принимает массив книг и выводит название каждой доступной книги. Вызовите её сbooks: она должна вывестиМатильдаиХоббит. Подсказка:availableуже равноtrueилиfalse, поэтому его можно сразу использовать как условие:if (book.available). - 2
Матильду только что взяли почитать. Под вызовом установите свойство
availableпервой книги вfalseи снова вызовитеprintAvailable(books). На этот раз должно вывестись толькоХоббит.