Задача Academy Catalogs


0

Здравейте, 

Бях на лекцията снощи, но не можах да схвана нещо. Защо като override-ваме функцията add() (или горе-долу нещо такова) в class BookCatalog за да може да работи с books, а не items, защо все пак извикваме return super.add()? Това не е ли функцията на родителския клас? Не трябва ли да си използваме това, което току-що написахме? Извинявам се ако е глупав въпрос, благодаря преварително.

add(...books) { if (Array.isArray(books[0])) { books = books[0]; } books.forEach(book => { if (typeof book !== 'object') { throw 'Item not an object'; } validateIsbn(book.isbn); validateLengthRange(book.genre, 2, 20); }); return super.add(books); // return this; }
 




Отговори



0
Извикването на super.add(books) е, за да използваш фунцкията от родителския клас. Налага се да се направят още някакви валидации специално за книги, а валидациите за item-и са в родителския клас.

от cuki (7696 точки)


0
Това значи ли, че във всяка пренаписана функция се връша извикване на super от функцията?

от nivalen292 (273 точки)

0
Видео с решение на задачата ще има ли? 

от ITBorisov (75 точки)