JavaScript for impatient programmers
Please support this book: buy it or donate
(Ad, please don’t block.)

2 FAQ: Book and supplementary material



This chapter answers questions you may have and gives tips for reading this book.

2.1 How to read this book

2.1.1 In which order should I read the content in this book?

This book is three books in one:

The quizzes and exercises play an important part in helping you practice and retain what you have learned.

2.1.2 Why are some chapters and sections marked with “(advanced)”?

Several chapters and sections are marked with “(advanced)”. The idea is that you can initially skip them. That is, you can get a quick working knowledge of JavaScript by only reading the basic (non-advanced) content.

As your knowledge evolves, you can later come back to some or all of the advanced content.

2.1.3 Why are some chapters marked with “(bonus)”?

The bonus chapters are only available in the paid versions of this book (print and ebook). They are listed in the full table of contents.

2.2 I own a digital edition

2.2.1 How do I submit feedback and corrections?

The HTML version of this book (online, or ad-free archive in the paid version) has a link at the end of each chapter that enables you to give feedback.

2.2.2 How do I get updates for the downloads I bought at Payhip?

2.2.3 Can I upgrade from package “Ebooks” to package “Ebooks + exercises + quizzes”?

Yes. The instructions for doing so are on the homepage of this book.

2.3 I own the print edition

2.3.1 Can I get a discount for a digital edition?

If you bought the print edition, you can get a discount for a digital edition. The homepage of the print edition explains how.

Alas, the reverse is not possible: you cannot get a discount for the print edition if you bought a digital edition.

2.3.2 Can I submit an error or see submitted errors?

On the homepage of the print edition, you can submit errors and see submitted errors.

2.3.3 Is there an online list with the URLs in this book?

The homepage of the print edition has a list with all the URLs that you see in the footnotes of the print edition.

2.4 Notations and conventions

2.4.1 What is a type signature? Why am I seeing static types in this book?

For example, you may see:

Number.isFinite(num: number): boolean

That is called the type signature of Number.isFinite(). This notation, especially the static types number of num and boolean of the result, are not real JavaScript. The notation is borrowed from the compile-to-JavaScript language TypeScript (which is mostly just JavaScript plus static typing).

Why is this notation being used? It helps give you a quick idea of how a function works. The notation is explained in detail in a 2ality blog post, but is usually relatively intuitive.

2.4.2 What do the notes with icons mean?

  Reading instructions

Explains how to best read the content.

  External content

Points to additional, external, content.

  Tip

Gives a tip related to the current content.

  Question

Asks and answers a question pertinent to the current content (think FAQ).

  Warning

Warns about pitfalls, etc.

  Details

Provides additional details, complementing the current content. It is similar to a footnote.

  Exercise

Mentions the path of a test-driven exercise that you can do at that point.

  Quiz

Indicates that there is a quiz for the current (part of a) chapter.