What’s New in JavaScript

Though the ECMA working group hasn’t issued a new specification release, work on JavaScript continues. JavaScript 1.6 introduced new array methods such as indexOf and lastIndexOf, as well as iterators (methods to help one move through, or iterate through, a collection such as an array): every, filter, forEach, map, and some.

JavaScript 1.7, which is part of the Firefox 2.0 release, continues working with arrays, and includes additional iterators and generators for initializing them. It also expands scoping rules to include block-level scoping. Right now, there is function-level (local) and global scoping, and that’s it.

At issue with these changes, though, is that they are browser-specific. At a minimum, they have no ECMA backing and again, push us off into a potential cross-browser dichotomy—just at a time when we’re beginning to expect consistent behavior among the major browsers. Most of JavaScript 1.6 is covered by ECMA-262 revision 3, but there’s no parallel ECMA specification for JavaScript 1.7.

More, there’s no guarantee that Microsoft will concur with the steps that the Mozilla organization is taking with the language enhancements. However, unlike the issues with different interpretations of the DOM, which was the primary cause of cross-browser difficulties in past JS lives, we’re now faced with a growing separation in the basic programming language itself.

I include a discussion of the future of JavaScript in this particular chapter ...

Get Learning JavaScript now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.