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 ...

Get ActionScript: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.