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 должен принимать два аргумента:

  • имя свойства
  • значение свойства

и добавлять экземпляру новое свойство с указанным именем и значением