O'Reilly logo

JavaScript for PHP Developers by Stoyan Stefanov

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 6. ECMAScript 5

This book has mostly talked about ECMAScript 3 because it’s the most widely distributed version of the language. However, the latest standard is ECMAScript 5.1 (version 4 was a dead-end branch that was eventually scrapped). Most modern browsers support ES5. You should know about what’s new in ES5 even if you currently have to support legacy browsers.

The three main areas of updates are:

  • Introduction of strict mode
  • Object and property attributes
  • Some new APIs

Strict Mode

Strict mode is not backward compatible, and is therefore an opt-in feature. Once per function or once per program you can opt into strict mode by using:

"use strict";

Since this is just a string statement, old browsers won’t complain and will simply ignore it. But an engine that understands strict mode will treat your code more strictly, disallowing some JavaScript features and constructs which, over the years, have proven to be more trouble than they’re worth. This book doesn’t teach any of these shady practices, so there’s nothing for you to unlearn.

Examples of features that trigger an error in strict mode are:

  • The use of the with statement
  • Use of undeclared variables
  • Use of arguments.callee or arguments.caller
  • Attempts to assign to read-only properties (e.g., window.Infinity = 0;)
  • Attempts to delete nonconfigurable properties (you will see what configurable means in a bit)
  • Object literals with duplicate properties
  • Function parameters with duplicate names (because, surprisingly, function ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required