O'Reilly logo

ActionScript: The Definitive Guide by Colin Moock

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

Appendix D. Differences from ECMA-262 and JavaScript

Naturally this book has focused on the intricacies of ActionScript, but if you own O’Reilly’s excellent JavaScript: The Definitive Guide, you’ll notice that the reference section of the two books share many similarities.

Although ActionScript, like JavaScript, is based on the ECMA-262 standard, certain differences were necessitated by the constraints of Player size and backward compatibility. If porting code from JavaScript, Jscript, or another ECMA-262-based language, you’ll find Table 4.1 valuable. It summarizes the intentional differences between ECMA-262, JavaScript, and Flash 5 ActionScript. Likewise, if porting ActionScript to another language, you’ll be better able to avoid the pitfalls caused by ActionScript’s deviation from the ECMA-262 standard.

Table 4.1 reflects the intentional differences between Flash 5 ActionScript and the ECMA-262 standard. It does not reflect any bugs that may exist in its attempted implementation of the standard.

Table D-1. Differences Between ECMA-262, JavaScript, and ActionScript

Topic

Description

String-to-Boolean conversion

In ECMA-262, all nonempty strings convert to true. In Flash 5, only the strings that can be converted to a valid nonzero number convert to true.

Case sensitivity

The ECMA-262 specification demands complete case sensitivity. In ActionScript, keywords are case-sensitive but identifiers are not. See Chapter 14, especially Table 14.1.

Function scope

When a 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