Please consult §5.3 “JavaScript references”.
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:
Please consult the following sources:
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.
Second example: If an arithmetic computation fails, you get an error value, not an exception.
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.
This question is answered in §3.7 “Evolving JavaScript: don’t break the web”.
§7.1 “Trying out JavaScript code” explains how to do that.