Annotated ECMAScript 5.1

‟Ex igne vita”

toc · multi-page version · key · source

This is not the normative ECMAScript Language specification. The normative spec (ECMA 262) is a PDF file maintained by ECMA TC39 and is available from http://www.ecmascript.org/. An auto-generated HTML version is available, too: http://ecma-international.org/ecma-262/5.1/

This is an annotated, hyperlinked, HTML version of Edition 5.1 of the ECMAScript Specification, the source for which is maintained at https://github.com/es5/es5.github.io. No copyright is asserted on its front matter (everything up through the Table of Contents), but any reuse of its body text (everything following the Table of Contents) must include the normative spec’s copyright notice and license statement.

To view annotations, follow the Ⓐ, Ⓑ, Ⓓ, Ⓡ, Ⓖ, Ⓔ, and ① hyperlinks in the headings. A key to the markers explains the different types of annotations. Also included are a variety of hyperlinked cross-references, following the example of Jason Orendorff’s version at http://people.mozilla.org/~jorendorff/es5.html

Table of Contents

  1. Introduction Ⓔ ① Ⓐ
  2. 1 Scope Ⓔ ① Ⓐ
  3. 2 Conformance Ⓔ ① Ⓐ
  4. 3 Normative references Ⓔ ① Ⓐ
  5. 4 Overview Ⓔ ① Ⓐ
  6. 5 Notational Conventions Ⓔ ① Ⓐ
  7. 6 Source Text Ⓔ ① Ⓐ
  8. 7 Lexical Conventions Ⓔ ① Ⓐ
  9. 8 Types Ⓔ ① Ⓐ
  10. 9 Type Conversion and Testing Ⓔ ① Ⓐ
  11. 10 Executable Code and Execution Contexts Ⓔ ① Ⓐ
  12. 11 Expressions Ⓔ ① Ⓐ
  13. 12 Statements Ⓔ ① Ⓐ
  14. 13 Function Definition Ⓔ ① Ⓐ
  15. 14 Program Ⓔ ① Ⓐ
  16. 15 Standard Built-in ECMAScript Objects Ⓔ ① Ⓐ
  17. 16 Errors Ⓔ ① Ⓐ
  18. Annex A (informative) Grammar Summary Ⓔ ① Ⓐ
  19. Annex B (informative) Compatibility Ⓔ ① Ⓐ
  20. Annex C (informative) The Strict Mode of ECMAScript Ⓔ ① Ⓐ
  21. Annex D (informative) Corrections and Clarifications in the 5th Edition with Possible 3rd Edition Compatibility Impact Ⓔ ① Ⓐ
  22. Annex E (informative) Additions and Changes in the 5th Edition that Introduce Incompatibilities with the 3rd Edition Ⓔ ① Ⓐ
  23. Annex G (informative) Visual representation of part of ES specs internal behavior Ⓔ ① Ⓐ
  24. Bibliography Ⓔ ① Ⓐ

Full Table of Contents

  1. Introduction Ⓔ ① Ⓐ
  2. 1 Scope Ⓔ ① Ⓐ
  3. 2 Conformance Ⓔ ① Ⓐ
  4. 3 Normative references Ⓔ ① Ⓐ
  5. 4 Overview
    1. 4.1 Web Scripting Ⓔ ① Ⓐ
    2. 4.2 Language Overview
      1. 4.2.1 Objects Ⓔ ① Ⓐ
      2. 4.2.2 The Strict Variant of ECMAScript Ⓔ ① Ⓐ
    3. 4.3 Definitions
      1. 4.3.1 type Ⓔ ① Ⓐ
      2. 4.3.2 primitive value Ⓔ ① Ⓐ
      3. 4.3.3 object Ⓔ ① Ⓐ
      4. 4.3.4 constructor Ⓔ ① Ⓐ
      5. 4.3.5 prototype Ⓔ ① Ⓐ
      6. 4.3.6 native object Ⓔ ① Ⓐ
      7. 4.3.7 built-in object Ⓔ ① Ⓐ
      8. 4.3.8 host object Ⓔ ① Ⓐ
      9. 4.3.9 undefined value Ⓔ ① Ⓐ
      10. 4.3.10 Undefined type Ⓔ ① Ⓐ
      11. 4.3.11 null value Ⓔ ① Ⓐ
      12. 4.3.12 Null type Ⓔ ① Ⓐ
      13. 4.3.13 Boolean value Ⓔ ① Ⓐ
      14. 4.3.14 Boolean type Ⓔ ① Ⓐ
      15. 4.3.15 Boolean object Ⓔ ① Ⓐ
      16. 4.3.16 String value Ⓔ ① Ⓐ
      17. 4.3.17 String type Ⓔ ① Ⓐ
      18. 4.3.18 String object Ⓔ ① Ⓐ
      19. 4.3.19 Number value Ⓔ ① Ⓐ
      20. 4.3.20 Number type Ⓔ ① Ⓐ
      21. 4.3.21 Number object Ⓔ ① Ⓐ
      22. 4.3.22 Infinity Ⓔ ① Ⓐ
      23. 4.3.23 NaN Ⓔ ① Ⓐ
      24. 4.3.24 function Ⓔ ① Ⓐ
      25. 4.3.25 built-in function Ⓔ ① Ⓐ
      26. 4.3.26 property Ⓔ ① Ⓐ
      27. 4.3.27 method Ⓔ ① Ⓐ
      28. 4.3.28 built-in method Ⓔ ① Ⓐ
      29. 4.3.29 attribute Ⓔ ① Ⓐ
      30. 4.3.30 own property Ⓔ ① Ⓐ
      31. 4.3.31 inherited property Ⓔ ① Ⓐ
  6. 5 Notational Conventions
    1. 5.1 Syntactic and Lexical Grammars
      1. 5.1.1 Context-Free Grammars