hw 04 - garevna/js-course GitHub Wiki
:briefcase: home work
:briefcase: Обязательная часть ( 3 балла )
Создайте объект, свойства которого описывают содержимое дамской сумочки
-
Создайте метод объекта, позволяющий удалить что-то из сумочки
-
Создайте метод объекта, позволяющий положить что-то в сумочку
:briefcase: Дополнительно ( 4 балла )
Объявить конструктор LibraryBook, с помощью которого можно создавать и редактировать объекты, хранящие информацию о книгах в библиотеке
📦 Приватные свойства объекта:
🔑 title ( название книги ),
🔑 year ( год издания ),
🔑 author ( автор ),
🔑 readerName ( кому выдана ),
🔑 readerData ( когда выдана )
📦 Приватный метод 🔑 giveTheBook ( client ):
внесение изменений в свойства:
🔑 readerName ( client )
🔑 readerData ( текущая дата )
📋 Публичные методы:
📋 getBookInfo () - посмотреть информацию о наличии книги
( вывести в консоль readerData )
📋 getTheBook ( client ) - получить книгу:
проверка, что книга не выдана на руки
( приватное свойство readerName
должно быть пустой строкой )
если выдана - вернуть null
если не выдана, то вызвать приватный метод
giveTheBook ( client ) и вернуть bookTitle
📋 returnBook () - вернуть книгу:
сбросить значения приватных свойств
readerName, readerData
- Создайте экземпляр книги
- Запросите экземпляр от имени ... ( любое имя )
:raised_hand: если будет слишком трудно, изучаем :coffee: пример
👀 Установите ✅ breakpoints в строках 7, 10, 14, 18, 20, 27
👀 Можете добавить в ✅ Watch переменные
title, year, author, readerName, readerData
👀 Mожно отслеживать изменение значений переменных еще и в разделе
✅ Scope дебаггера:
✅ Local - локальные переменные исполняемой функции,
✅ Block - переменные контекста вызова
👀 Следите, какая функция сейчас выполняется,
в разделе ✅ Call Stack
🔄 После установки breakpoints перезагрузите страницу
❗ Не забывайте пошагово запускать выполнение кода
👁 В консоли отслеживайте результаты работы кода
:briefcase: Дополнительно ( 5 баллов )
Объявите конструктор, который создает экземпляры с унаследованным методом addProperty
Метод addProperty должен принимать два аргумента:
- имя свойства
- значение свойства
и добавлять экземпляру новое свойство с указанным именем и значением