The following is a changelog for JavaScript 1.8. This version was included in Firefox 3 and is part of Gecko 1.9. See bug 380236 for a tracking development bug for JavaScript 1.8.

Using JavaScript 1.8

In order to use some of the new features of JavaScript 1.8 in HTML, use:

<script type="application/javascript;version=1.8"> ... your code ... </script>

Another way (not recommended) to do this is to use the deprecated <script> language attribute and define it as "JavaScript1.8".

When using the JavaScript shell, JavaScript XPCOM components, or XUL <script> elements, the latest JS version (JS1.8 in Mozilla 1.9) is used automatically (bug 381031, bug 385159).

The features that require the use of the new keywords "yield" and "let" require you to specify version 1.7 or higher because existing code might use those keywords as variable or function names. The features that do not introduce new keywords (such as generator expressions) can be used without specifying the JavaScript version.

New features in JavaScript 1.8

Expression Closures.

Generator expressions. Allowing you to simply create generators (which were introduced in JavaScript 1.7). Typically you would have to create a custom function which would have a yield in it, but this addition allows you to use array comprehension-like syntax to create an identical generator statement.

Array.prototype.reduce()

Array.prototype.reduceRight()

Changed functionality in JavaScript 1.8

Changes in destructuring for..in