Please support this book: buy it or donate

4. FAQ: JavaScript



4.1. What are good references for JavaScript?

Please consult section “JavaScript references”.

4.2. How do I find out what JavaScript features are supported where?

This book usually mentions if a feature is part of ECMAScript 5 (as required by older browsers) or a newer version. For more detailed information (incl. pre-ES5 versions), there are several good compatibility tables available online:

4.3. Where can I look up what features are planned for JavaScript?

Please consult the following sources:

4.4. Why does JavaScript fail silently so often?

JavaScript often fails silently. Let’s look at two examples.

First example: If the operands of an operator don’t have the appropriate types, they are converted as necessary.

  1. > '3' * '5'
  2. 15

Second example: If an arithmetic computation fails, you get an error value, not an exception.

  1. > 1 / 0
  2. Infinity

The reason for the silent failures is historical: JavaScript did not have exceptions until ECMAScript 3. Since then, its designers have tried to avoid silent failures.

4.5. Why can’t we clean up JavaScript, by removing quirks and outdated features?

The chapter on the history and evolution of JavaScript has a section that answers this question.

4.6. How can I quickly try out a piece of JavaScript code?

There is a section in this book that explains how to do that.