JavaScript renders the content of the page dynamically
Avoids page refreshes
Page transitions are much faster
Document
Object
Model
.querySelector().getElementById().querySelectorAll().getElementsByClassName().textContent= or .innerText=.createElement().appendChild() and .append()innerHTML=.remove()renderHeader(): renders the header content via JSrenderFooter(): renders the footer content via JSrenderBook(): create a list item for a book and inserts it into the listremoveBook(index): removes a book li from the DOM by its index in the uldocument.createElement()querySelector() & querySelectorAll()textContent =append()classList for adding and removing classes from an elementimg.src = imageUrl, or div.className = "card")remove()