http://people.mozilla.org/~jorendorff/es6-draft.html#sec-23.4

Draft

Report Errors and Issues at: https://bugs.ecmascript.org

Product: Draft for 6th Edition

Component: choose an appropriate one

Version: Rev 27, August 24, 2014 Draft

Ecma/TC39/2014/0xx

Contents

  1. Introduction
  2. 1 Scope
  3. 2 Conformance
  4. 3 Normative references
  5. 4 Overview
    1. 4.1 Web Scripting
    2. 4.2 ECMAScript Overview
      1. 4.2.1 Objects
      2. 4.2.2 The Strict Variant of ECMAScript
    3. 4.3 Terms and 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 ordinary object
      7. 4.3.7 exotic object
      8. 4.3.8 standard object
      9. 4.3.9 built-in object
      10. 4.3.10 undefined value
      11. 4.3.11 Undefined type
      12. 4.3.12 null value
      13. 4.3.13 Null type
      14. 4.3.14 Boolean value
      15. 4.3.15 Boolean type
      16. 4.3.16 Boolean object
      17. 4.3.17 String value
      18. 4.3.18 String type
      19. 4.3.19 String object
      20. 4.3.20 Number value
      21. 4.3.21 Number type
      22. 4.3.22 Number object
      23. 4.3.23 Infinity
      24. 4.3.24 NaN
      25. 4.3.25 Symbol value
      26. 4.3.26 Symbol type
      27. 4.3.27 Symbol object
      28. 4.3.28 function
      29. 4.3.29 built-in function
      30. 4.3.30 property
      31. 4.3.31 method
      32. 4.3.32 built-in method
      33. 4.3.33 attribute
      34. 4.3.34 own property
      35. 4.3.35 inherited property
    4. 4.4 Organization of This Specification
  6. 5 Notational Conventions
    1. 5.1 Syntactic and Lexical Grammars
      1. 5.1.1 Context-Free Grammars
      2. 5.1.2 The Lexical and RegExp Grammars
      3. 5.1.3 The Numeric String Grammar
      4. 5.1.4 The Syntactic Grammar
      5. 5.1.5 Grammar Notation
    2. 5.2 Algorithm Conventions
    3. 5.3 Static Semantic Rules
  7. 6 ECMAScript Data Types and Values
    1. 6.1 ECMAScript Language Types
      1. 6.1.1 The Undefined Type
      2. 6.1.2 The Null Type
      3. 6.1.3 The Boolean Type
      4. 6.1.4 The String Type
      5. 6.1.5 The Symbol Type
      6. 6.1.6 The Number Type
      7. 6.1.7 The Object Type
    2. 6.2 ECMAScript Specification Types
      1. 6.2.1 The List and Record Specification Type
      2. 6.2.2 The Completion Record Specification Type
      3. 6.2.3 The Reference Specification Type
      4. 6.2.4 The Property Descriptor Specification Type
      5. 6.2.5 The Lexical Environment and Environment Record Specification Types
      6. 6.2.6 Data Blocks
  8. 7 Abstract Operations
    1. 7.1 Type Conversion and Testing
      1. 7.1.1 ToPrimitive ( input [, PreferredType] )
      2. 7.1.2 ToBoolean ( argument )
      3. 7.1.3 ToNumber ( argument )
      4. 7.1.4 ToInteger ( argument )
      5. 7.1.5 ToInt32 ( argument ) — Signed 32 Bit Integer
      6. 7.1.6 ToUint32 ( argument ) — Unsigned 32 Bit Integer
      7. 7.1.7 ToInt16 ( argument ) — Signed 16 Bit Integer
      8. 7.1.8 ToUint16 ( argument ) — Unsigned 16 Bit Integer
      9. 7.1.9 ToInt8 ( argument ) — Signed 8 Bit Integer
      10. 7.1.10 ToUint8 ( argument ) — Unsigned 8 Bit Integer
      11. 7.1.11 ToUint8Clamp ( argument ) — Unsigned 8 Bit Integer, Clamped
      12. 7.1.12 ToString ( argument )
      13. 7.1.13 ToObject ( argument )
      14. 7.1.14 ToPropertyKey ( argument )
      15. 7.1.15 ToLength ( argument )
      16. 7.1.16 CanonicalNumericIndexString ( argument )
    2. 7.2 Testing and Comparison Operations
      1. 7.2.1 RequireObjectCoercible ( argument )
      2. 7.2.2 IsCallable ( argument )
      3. 7.2.3 SameValue(x, y)
      4. 7.2.4 SameValueZero(x, y)
      5. 7.2.5 IsConstructor ( argument )
      6. 7.2.6 IsPropertyKey ( argument )
      7. 7.2.7 IsExtensible (O)
      8. 7.2.8 IsInteger ( argument )
      9. 7.2.9 Abstract Relational Comparison
      10. 7.2.10 Abstract Equality Comparison
      11. 7.2.11 Strict Equality Comparison
    3. 7.3 Operations on Objects
      1. 7.3.1 Get (O, P)
      2. 7.3.2 Put (O, P, V, Throw)
      3. 7.3.3 CreateDataProperty (O, P, V)
      4. 7.3.4 CreateDataPropertyOrThrow (O, P, V)
      5. 7.3.5 DefinePropertyOrThrow (O, P, desc)
      6. 7.3.6 DeletePropertyOrThrow (O, P)
      7. 7.3.7 GetMethod (O, P)
      8. 7.3.8 HasProperty (O, P)
      9. 7.3.9 HasOwnProperty (O, P)
      10. 7.3.10 Invoke(O,P, [args])
      11. 7.3.11 SetIntegrityLevel (O, level)
      12. 7.3.12 TestIntegrityLevel (O, level)
      13. 7.3.13 CreateArrayFromList (elements)
      14. 7.3.14 CreateListFromArrayLike (obj)
      15. 7.3.15 OrdinaryHasInstance (C, O)
      16. 7.3.16 GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
      17. 7.3.17 CreateFromConstructor (F)
      18. 7.3.18 Construct (F, argumentsList)
      19. 7.3.19 GetOption (options, P)
      20. 7.3.20 EnumerableOwnNames (O)
      21. 7.3.21 GetFunctionRealm ( obj ) Abstract Operation
    4. 7.4 Operations on Iterator Objects
      1. 7.4.1 CheckIterable ( obj )
      2. 7.4.2 GetIterator ( obj, method )
      3. 7.4.3 IteratorNext ( iterator, value )
      4. 7.4.4 IteratorComplete ( iterResult )
      5. 7.4.5 IteratorValue ( iterResult )
      6. 7.4.6 IteratorStep ( iterator )
      7. 7.4.7 IteratorClose( iterator, completion )
      8. 7.4.8 CreateIterResultObject ( value, done )
      9. 7.4.9 CreateListIterator ( list )
      10. 7.4.10 CreateEmptyIterator ( )
      11. 7.4.11 CreateCompoundIterator ( iterator1, iterator2 )
    5. 7.5 Operations on Promise Objects
      1. 7.5.1 PromiseNew ( executor ) Abstract Operation
      2. 7.5.2 PromiseBuiltinCapability () Abstract Operation
      3. 7.5.3 PromiseOf (value) Abstract Operation
      4. 7.5.4 PromiseAll (promiseList) Abstract Operation
      5. 7.5.5 PromiseCatch (promise, rejectedAction) Abstract Operation
      6. 7.5.6 PromiseThen (promise, resolvedAction, rejectedAction) Abstract Operation
  9. 8 Executable Code and Execution Contexts
    1. 8.1 Lexical Environments
      1. 8.1.1 Environment Records
      2. 8.1.2 Lexical Environment Operations
    2. 8.2 Code Realms
      1. 8.2.1 CreateRealm ( ) Abstract Operation
      2. 8.2.2 CreateIntrinsics ( realmRec ) Abstract Operation
      3. 8.2.3 SetRealmGlobalObj ( realmRec, globalObj ) Abstract Operation
      4. 8.2.4 SetDefaultGlobalBindings ( realmRec ) Abstract Operation
    3. 8.3 Execution Contexts
      1. 8.3.1 ResolveBinding ( name ) Abstract Operation
      2. 8.3.2 GetThisEnvironment ( ) Abstract Operation
      3. 8.3.3 ResolveThisBinding ( ) Abstract Operation
      4. 8.3.4 GetGlobalObject ( ) Abstract Operation
    4. 8.4 Jobs and Job Queues
      1. 8.4.1 EnqueueJob ( queueName, job, arguments) Abstract Operation
      2. 8.4.2 NextJob result
    5. 8.5 Initialization
      1. 8.5.1 InitializeFirstRealm ( realm ) Abstract Operation
  10. 9 Ordinary and Exotic Objects Behaviours
    1. 9.1 Ordinary Object Internal Methods and Internal Slots
      1. 9.1.1 [[GetPrototypeOf]] ( )
      2. 9.1.2 [[SetPrototypeOf]] (V)
      3. 9.1.3 [[IsExtensible]] ( )
      4. 9.1.4 [[PreventExtensions]] ( )
      5. 9.1.5 [[GetOwnProperty]] (P)
      6. 9.1.6 [[DefineOwnProperty]] (P, Desc)
      7. 9.1.7 [[HasProperty]](P)
      8. 9.1.8 [[Get]] (P, Receiver)
      9. 9.1.9 [[Set]] ( P, V, Receiver)
      10. 9.1.10 [[Delete]] (P)
      11. 9.1.11 [[Enumerate]] ()
      12. 9.1.12 [[OwnPropertyKeys]] ( )
      13. 9.1.13 ObjectCreate(proto, internalSlotsList) Abstract Operation
      14. 9.1.14 OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto, internalSlotsList )
    2. 9.2 ECMAScript Function Objects
      1. 9.2.1 [[GetOwnProperty]] (P)
      2. 9.2.2 [[Call]] ( thisArgument, argumentsList)
      3. 9.2.3 [[Construct]] ( argumentsList)
      4. 9.2.4 FunctionAllocate (functionPrototype, strict) Abstract Operation
      5. 9.2.5 FunctionInitialize (F, kind, Strict, ParameterList, Body, Scope) Abstract Operation
      6. 9.2.6 FunctionCreate (kind, ParameterList, Body, Scope, Strict) Abstract Operation
      7. 9.2.7 GeneratorFunctionCreate (kind, ParameterList, Body, Scope, Strict) Abstract Operation
      8. 9.2.8 AddRestrictedFunctionProperties ( F, realm ) Abstract Operation
      9. 9.2.9 MakeConstructor (F, writablePrototype, prototype) Abstract Operation
      10. 9.2.10 MakeMethod ( F, methodName, homeObject) Abstract Operation
      11. 9.2.11 SetFunctionName (F, name, prefix) Abstract Operation
      12. 9.2.12 CloneMethod(function, newHome, newName) Abstract Operation
      13. 9.2.13 FunctionDeclarationInstantiation(func, argumentsList, env ) Abstract Operation
    3. 9.3 Built-in Function Objects
      1. 9.3.1 [[Call]] ( thisArgument, argumentsList)
      2. 9.3.2 CreateBuiltinFunction(realm, steps, prototype, internalSlotsList) Abstract Operation
    4. 9.4 Built-in Exotic Object Internal Methods and Data Fields
      1. 9.4.1 Bound Function Exotic Objects
      2. 9.4.2 Array Exotic Objects
      3. 9.4.3 String Exotic Objects
      4. 9.4.4 Arguments Exotic Objects
      5. 9.4.5 Integer Indexed Exotic Objects
      6. 9.4.6 Module Exotic Objects
    5. 9.5 Proxy Object Internal Methods and Internal Slots
      1. 9.5.1 [[GetPrototypeOf]] ( )
      2. 9.5.2 [[SetPrototypeOf]] (V)
      3. 9.5.3 [[IsExtensible]] ( )
      4. 9.5.4 [[PreventExtensions]] ( )
      5. 9.5.5 [[GetOwnProperty]] (P)
      6. 9.5.6 [[DefineOwnProperty]] (P, Desc)
      7. 9.5.7 [[HasProperty]] (P)
      8. 9.5.8 [[Get]] (P, Receiver)
      9. 9.5.9 [[Set]] ( P, V, Receiver)
      10. 9.5.10 [[Delete]] (P)
      11. 9.5.11 [[Enumerate]] ()
      12. 9.5.12 [[OwnPropertyKeys]] ( )
      13. 9.5.13 [[Call]] (thisArgument, argumentsList)
      14. 9.5.14 [[Construct]] Internal Method
      15. 9.5.15 ProxyCreate(target, handler) Abstract Operation
  11. 10 ECMAScript Language: Source Code
    1. 10.1 Source Text
      1. 10.1.1 Static Semantics: UTF-16Encoding
      2. 10.1.2 Static Semantics: UTF16Decode(lead, trail)
    2. 10.2 Types of Source Code
      1. 10.2.1 Strict Mode Code
      2. 10.2.2 Non-ECMAScript Functions
  12. 11 ECMAScript Language: Lexical Grammar
    1. 11.1 Unicode Format-Control Characters
    2. 11.2 White Space
    3. 11.3 Line Terminators
    4. 11.4 Comments
    5. 11.5 Tokens
    6. 11.6 Names and Keywords
      1. 11.6.1 Identifier Names
      2. 11.6.2 Reserved Words
    7. 11.7 Punctuators
    8. 11.8 Literals
      1. 11.8.1 Null Literals
      2. 11.8.2 Boolean Literals
      3. 11.8.3 Numeric Literals
      4. 11.8.4 String Literals
      5. 11.8.5 Regular Expression Literals
      6. 11.8.6 Template Literal Lexical Components
    9. 11.9 Automatic Semicolon Insertion
      1. 11.9.1 Rules of Automatic Semicolon Insertion
      2. 11.9.2 Examples of Automatic Semicolon Insertion
  13. 12 ECMAScript Language: Expressions
    1. 12.1 Identifiers
      1. 12.1.1 Static Semantics: Early Errors
      2. 12.1.2 Static Semantics: BoundNames
      3. 12.1.3 Static Semantics: StringValue
      4. 12.1.4 Runtime Semantics: BindingInitialization
      5. 12.1.5 Runtime Semantics: Evaluation
    2. 12.2 Primary Expression
      1. 12.2.0 Semantics
      2. 12.2.1 The this Keyword
      3. 12.2.2 Identifier Reference
      4. 12.2.3 Literals
      5. 12.2.4 Array Initializer
      6. 12.2.5 Object Initializer
      7. 12.2.6 Function Defining Expressions
      8. 12.2.7 Regular Expression Literals
      9. 12.2.8 Template Literals
      10. 12.2.9 The Grouping Operator
    3. 12.3 Left-Hand-Side Expressions
      1. 12.3.1 Static Semantics
      2. 12.3.2 Property Accessors
      3. 12.3.3 The new Operator
      4. 12.3.4 Function Calls
      5. 12.3.5 The super Keyword
      6. 12.3.6 Argument Lists
      7. 12.3.7 Tagged Templates
    4. 12.4 Postfix Expressions
      1. 12.4.1 Static Semantics: Early Errors
      2. 12.4.2 Static Semantics: IsFunctionDefinition
      3. 12.4.3 Static Semantics: IsValidSimpleAssignmentTarget
      4. 12.4.4 Postfix Increment Operator
      5. 12.4.5 Postfix Decrement Operator
    5. 12.5 Unary Operators
      1. 12.5.1 Static Semantics: Early Errors
      2. 12.5.2 Static Semantics: IsFunctionDefinition
      3. 12.5.3 Static Semantics: IsValidSimpleAssignmentTarget
      4. 12.5.4 The delete Operator
      5. 12.5.5 The void Operator
      6. 12.5.6 The typeof Operator
      7. 12.5.7 Prefix Increment Operator
      8. 12.5.8 Prefix Decrement Operator
      9. 12.5.9 Unary + Operator
      10. 12.5.10 Unary - Operator
      11. 12.5.11 Bitwise NOT Operator ( ~ )
      12. 12.5.12 Logical NOT Operator ( ! )
    6. 12.6 Multiplicative Operators
      1. 12.6.1 Static Semantics: IsFunctionDefinition
      2. 12.6.2 Static Semantics: IsValidSimpleAssignmentTarget
      3. 12.6.3 Runtime Semantics: Evaluation
    7. 12.7 Additive Operators
      1. 12.7.1 Static Semantics: IsFunctionDefinition
      2. 12.7.2 Static Semantics: IsValidSimpleAssignmentTarget
      3. 12.7.3 The Addition operator ( + )
      4. 12.7.4 The Subtraction Operator ( - )
      5. 12.7.5 Applying the Additive Operators to Numbers
    8. 12.8 Bitwise Shift Operators
      1. 12.8.1 Static Semantics: IsFunctionDefinition
      2. 12.8.2 Static Semantics: IsValidSimpleAssignmentTarget
      3. 12.8.3 The Left Shift Operator ( << )
      4. 12.8.4 The Signed Right Shift Operator ( >> )
      5. 12.8.5 The Unsigned Right Shift Operator ( >>> )
    9. 12.9 Relational Operators
      1. 12.9.1 Static Semantics: IsFunctionDefinition
      2. 12.9.2 Static Semantics: IsValidSimpleAssignmentTarget
      3. 12.9.3 Runtime Semantics: Evaluation
      4. 12.9.4 Runtime Semantics: InstanceofOperator(O, C)
    10. 12.10 Equality Operators
      1. 12.10.1 Static Semantics: IsFunctionDefinition
      2. 12.10.2 Static Semantics: IsValidSimpleAssignmentTarget
      3. 12.10.3 Runtime Semantics: Evaluation
    11. 12.11 Binary Bitwise Operators
      1. 12.11.1 Static Semantics: IsFunctionDefinition
      2. 12.11.2 Static Semantics: IsValidSimpleAssignmentTarget
      3. 12.11.3 Runtime Semantics: Evaluation
    12. 12.12 Binary Logical Operators
      1. 12.12.1 Static Semantics: IsFunctionDefinition
      2. 12.12.2 Static Semantics: IsValidSimpleAssignmentTarget
      3. 12.12.3 Runtime Semantics: Evaluation
    13. 12.13 Conditional Operator ( ? : )
      1. 12.13.1 Static Semantics: IsFunctionDefinition
      2. 12.13.2 Static Semantics: IsValidSimpleAssignmentTarget
      3. 12.13.3 Runtime Semantics: Evaluation
    14. 12.14 Assignment Operators
      1. 12.14.1 Static Semantics: Early Errors
      2. 12.14.2 Static Semantics: IsFunctionDefinition
      3. 12.14.3 Static Semantics: IsValidSimpleAssignmentTarget
      4. 12.14.4 Runtime Semantics: Evaluation
      5. 12.14.5 Destructuring Assignment
    15. 12.15 Comma Operator ( , )
      1. 12.15.1 Static Semantics: IsFunctionDefinition
      2. 12.15.2 Static Semantics: IsValidSimpleAssignmentTarget
      3. 12.15.3 Runtime Semantics: Evaluation
  14. 13 ECMAScript Language: Statements and Declarations
    1. 13.0 Statement Semantics
      1. 13.0.1 Static Semantics: DeclarationPart
      2. 13.0.2 Static Semantics: VarDeclaredNames
      3. 13.0.3 Static Semantics: VarScopedDeclarations
      4. 13.0.4 Runtime Semantics: LabelledEvaluation
      5. 13.0.5 Runtime Semantics: Evaluation
    2. 13.1 Block
      1. 13.1.1 Static Semantics: Early Errors
      2. 13.1.2 Static Semantics: LexicallyDeclaredNames
      3. 13.1.3 Static Semantics: LexicallyScopedDeclarations
      4. 13.1.4 Static Semantics: TopLevelLexicallyDeclaredNames
      5. 13.1.5 Static Semantics: TopLevelLexicallyScopedDeclarations
      6. 13.1.6 Static Semantics: TopLevelVarDeclaredNames
      7. 13.1.7 Static Semantics: TopLevelVarScopedDeclarations
      8. 13.1.8 Static Semantics: VarDeclaredNames
      9. 13.1.9 Static Semantics: VarScopedDeclarations
      10. 13.1.10 Runtime Semantics: Evaluation
      11. 13.1.11 Runtime Semantics: BlockDeclarationInstantiation( code, env )
    3. 13.2 Declarations and the Variable Statement
      1. 13.2.1 Let and Const Declarations
      2. 13.2.2 Variable Statement
      3. 13.2.3 Destructuring Binding Patterns
    4. 13.3 Empty Statement
      1. 13.3.1 Runtime Semantics: Evaluation
    5. 13.4 Expression Statement
      1. 13.4.1 Runtime Semantics: Evaluation
    6. 13.5 The if Statement
      1. 13.5.1 Static Semantics: Early Errors
      2. 13.5.2 Static Semantics: VarDeclaredNames
      3. 13.5.3 Static Semantics: VarScopedDeclarations
      4. 13.5.4 Runtime Semantics: Evaluation
    7. 13.6 Iteration Statements
      1. 13.6.0 Semantics
      2. 13.6.1 The do-while Statement
      3. 13.6.2 The while Statement
      4. 13.6.3 The for Statement
      5. 13.6.4 The for-in and for-of Statements
    8. 13.7 The continue Statement
      1. 13.7.1 Static Semantics: Early Errors
      2. 13.7.2 Runtime Semantics: Evaluation
    9. 13.8 The break Statement
      1. 13.8.1 Static Semantics: Early Errors
      2. 13.8.2 Runtime Semantics: Evaluation
    10. 13.9 The return Statement
      1. 13.9.1 Runtime Semantics: Evaluation
    11. 13.10 The with Statement
      1. 13.10.1 Static Semantics: Early Errors
      2. 13.10.2 Static Semantics: VarDeclaredNames
      3. 13.10.3 Static Semantics: VarScopedDeclarations
      4. 13.10.4 Runtime Semantics: Evaluation
    12. 13.11 The switch Statement
      1. 13.11.1 Static Semantics: Early Errors
      2. 13.11.2 Static Semantics: LexicallyDeclaredNames
      3. 13.11.3 Static Semantics: LexicallyScopedDeclarations
      4. 13.11.4 Static Semantics: VarDeclaredNames
      5. 13.11.5 Static Semantics: VarScopedDeclarations
      6. 13.11.6 Runtime Semantics: CaseBlockEvaluation
      7. 13.11.7 Runtime Semantics: CaseSelectorEvaluation
      8. 13.11.8 Runtime Semantics: Evaluation
    13. 13.12 Labelled Statements
      1. 13.12.1 Static Semantics: Early Errors
      2. 13.12.2 Static Semantics: CurrentLabelSet
      3. 13.12.3 Static Semantics: IsLabelledFunction ( stmt )
      4. 13.12.4 Static Semantics: LexicallyDeclaredNames
      5. 13.12.5 Static Semantics: LexicallyScopedDeclarations
      6. 13.12.6 Static Semantics: TopLevelLexicallyDeclaredNames
      7. 13.12.7 Static Semantics: TopLevelLexicallyScopedDeclarations
      8. 13.12.8 Static Semantics: TopLevelVarDeclaredNames
      9. 13.12.9 Static Semantics: TopLevelVarScopedDeclarations
      10. 13.12.10 Static Semantics: VarDeclaredNames
      11. 13.12.11 Static Semantics: VarScopedDeclarations
      12. 13.12.12 Runtime Semantics: LabelledEvaluation
    14. 13.13 The throw Statement
      1. 13.13.1 Runtime Semantics: Evaluation
    15. 13.14 The try Statement
      1. 13.14.1 Static Semantics: Early Errors
      2. 13.14.2 Static Semantics: VarDeclaredNames
      3. 13.14.3 Static Semantics: VarScopedDeclarations
      4. 13.14.4 Runtime Semantics: BindingInitialization
      5. 13.14.5 Runtime Semantics: CatchClauseEvaluation
      6. 13.14.6 Runtime Semantics: Evaluation
    16. 13.15 The debugger statement
      1. 13.15.1 Runtime Semantics: Evaluation
  15. 14 ECMAScript Language: Functions and Classes
    1. 14.1 Function Definitions
      1. 14.1.1 Directive Prologues and the Use Strict Directive
      2. 14.1.2 Static Semantics: Early Errors
      3. 14.1.3 Static Semantics: BoundNames
      4. 14.1.4 Static Semantics: Contains
      5. 14.1.5 Static Semantics: ContainsExpression
      6. 14.1.6 Static Semantics: ExpectedArgumentCount
      7. 14.1.7 Static Semantics: HasInitializer
      8. 14.1.8 Static Semantics: HasName
      9. 14.1.9 Static Semantics: IsAnonymousFunctionDefinition ( production) Abstract Operation
      10. 14.1.10 Static Semantics: IsConstantDeclaration
      11. 14.1.11 Static Semantics: IsFunctionDefinition
      12. 14.1.12 Static Semantics: IsSimpleParameterList
      13. 14.1.13 Static Semantics: IsStrict
      14. 14.1.14 Static Semantics: LexicallyDeclaredNames
      15. 14.1.15 Static Semantics: LexicallyScopedDeclarations
      16. 14.1.16 Static Semantics: ReferencesSuper
      17. 14.1.17 Static Semantics: VarDeclaredNames
      18. 14.1.18 Static Semantics: VarScopedDeclarations
      19. 14.1.19 Runtime Semantics: EvaluateBody
      20. 14.1.20 Runtime Semantics: IteratorBindingInitialization
      21. 14.1.21 Runtime Semantics: InstantiateFunctionObject
      22. 14.1.22 Runtime Semantics: Evaluation
    2. 14.2 Arrow Function Definitions
      1. 14.2.1 Static Semantics: Early Errors
      2. 14.2.2 Static Semantics: BoundNames
      3. 14.2.3 Static Semantics: Contains
      4. 14.2.4 Static Semantics: ContainsExpression
      5. 14.2.5 Static Semantics: CoveredFormalsList
      6. 14.2.6 Static Semantics: ExpectedArgumentCount
      7. 14.2.7 Static Semantics: HasInitializer
      8. 14.2.8 Static Semantics: HasName
      9. 14.2.9 Static Semantics: IsSimpleParameterList
      10. 14.2.10 Static Semantics: LexicallyDeclaredNames
      11. 14.2.11 Static Semantics: LexicallyScopedDeclarations
      12. 14.2.12 Static Semantics: ReferencesSuper
      13. 14.2.13 Static Semantics: VarDeclaredNames
      14. 14.2.14 Static Semantics: VarScopedDeclarations
      15. 14.2.15 Runtime Semantics: IteratorBindingInitialization
      16. 14.2.16 Runtime Semantics: EvaluateBody
      17. 14.2.17 Runtime Semantics: Evaluation
    3. 14.3 Method Definitions
      1. 14.3.1 Static Semantics: Early Errors
      2. 14.3.2 Static Semantics: ComputedPropertyContains
      3. 14.3.3 Static Semantics: ExpectedArgumentCount
      4. 14.3.4 Static Semantics: HasComputedPropertyKey
      5. 14.3.5 Static Semantics: PropName
      6. 14.3.6 Static Semantics: ReferencesSuper
      7. 14.3.7 Static Semantics: SpecialMethod
      8. 14.3.8 Runtime Semantics: DefineMethod
      9. 14.3.9 Runtime Semantics: PropertyDefinitionEvaluation
    4. 14.4 Generator Function Definitions
      1. 14.4.1 Static Semantics: Early Errors
      2. 14.4.2 Static Semantics: BoundNames
      3. 14.4.3 Static Semantics: ComputedPropertyContains
      4. 14.4.4 Static Semantics: Contains
      5. 14.4.5 Static Semantics: HasComputedPropertyKey
      6. 14.4.6 Static Semantics: HasName
      7. 14.4.7 Static Semantics: IsConstantDeclaration
      8. 14.4.8 Static Semantics: IsFunctionDefinition
      9. 14.4.9 Static Semantics: PropName
      10. 14.4.10 Static Semantics: ReferencesSuper
      11. 14.4.11 Runtime Semantics: EvaluateBody
      12. 14.4.12 Runtime Semantics: InstantiateFunctionObject
      13. 14.4.13 Runtime Semantics: PropertyDefinitionEvaluation
      14. 14.4.14 Runtime Semantics: Evaluation
    5. 14.5 Class Definitions
      1. 14.5.1 Static Semantics: Early Errors
      2. 14.5.2 Static Semantics: BoundNames
      3. 14.5.3 Static Semantics: ConstructorMethod
      4. 14.5.4 Static Semantics: Contains
      5. 14.5.5 Static Semantics: ComputedPropertyContains
      6. 14.5.6 Static Semantics: HasName
      7. 14.5.7 Static Semantics: IsConstantDeclaration
      8. 14.5.8 Static Semantics: IsFunctionDefinition
      9. 14.5.9 Static Semantics: IsStatic
      10. 14.5.10 Static Semantics: NonConstructorMethodDefinitions
      11. 14.5.11 Static Semantics: PrototypePropertyNameList
      12. 14.5.12 Static Semantics: PropName
      13. 14.5.13 Static Semantics: StaticPropertyNameList
      14. 14.5.14 Runtime Semantics: ClassDefinitionEvaluation
      15. 14.5.15 Runtime Semantics: Evaluation
    6. 14.6 Tail Position Calls
      1. 14.6.1 Static Semantics: IsInTailPosition(nonterminal) Abstract Operation
      2. 14.6.2 Static Semantics: HasProductionInTailPosition
      3. 14.6.3 Runtime Semantics: PrepareForTailCall ( )
  16. 15 ECMAScript Language: Scripts and Modules
    1. 15.1 Scripts
      1. 15.1.1 Static Semantics: Early Errors
      2. 15.1.2 Static Semantics: IsStrict
      3. 15.1.3 Static Semantics: LexicallyDeclaredNames
      4. 15.1.4 Static Semantics: LexicallyScopedDeclarations
      5. 15.1.5 Static Semantics: VarDeclaredNames
      6. 15.1.6 Static Semantics: VarScopedDeclarations
      7. 15.1.7 Runtime Semantics: ScriptEvaluation
      8. 15.1.8 Runtime Semantics: GlobalDeclarationInstantiation
      9. 15.1.9 Runtime Semantics: ScriptEvaluationJob ( source )
    2. 15.2 Modules
      1. 15.2.0 Module Static Semantics
      2. 15.2.1 Imports
      3. 15.2.2 Exports
      4. 15.2.3 Runtime Semantics: Loader State
      5. 15.2.4 Runtime Semantics: Module Loading
      6. 15.2.5 Runtime Semantics: Module Linking
      7. 15.2.6 Runtime Semantics: Module Evaluation
  17. 16 Error Handling and Language Extensions
    1. 16.1 Forbidden Extensions
  18. 17 ECMAScript Standard Built-in Objects
  19. 18 The Global Object
    1. 18.1 Value Properties of the Global Object
      1. 18.1.1 Infinity
      2. 18.1.2 NaN
      3. 18.1.3 undefined
    2. 18.2 Function Properties of the Global Object
      1. 18.2.1 eval (x)
      2. 18.2.2 isFinite (number)
      3. 18.2.3 isNaN (number)
      4. 18.2.4 parseFloat (string)
      5. 18.2.5 parseInt (string , radix)
      6. 18.2.6 URI Handling Functions
    3. 18.3 Constructor Properties of the Global Object
      1. 18.3.1 Array ( . . . )
      2. 18.3.2 ArrayBuffer ( . . . )
      3. 18.3.3 Boolean ( . . . )
      4. 18.3.4 DataView ( . . . )
      5. 18.3.5 Date ( . . . )
      6. 18.3.6 Error ( . . . )
      7. 18.3.7 EvalError ( . . . )
      8. 18.3.8 Float32Array ( . . . )
      9. 18.3.9 Float64Array ( . . . )
      10. 18.3.10 Function ( . . . )
      11. 18.3.11 Int8Array ( . . . )
      12. 18.3.12 Int16Array ( . . . )
      13. 18.3.13 Int32Array ( . . . )
      14. 18.3.14 Map ( . . . )
      15. 18.3.15 Number ( . . . )
      16. 18.3.16 Object ( . . . )
      17. 18.3.17 Promise ( . . . )
      18. 18.3.18 RangeError ( . . . )
      19. 18.3.19 ReferenceError ( . . . )
      20. 18.3.20 RegExp ( . . . )
      21. 18.3.21 Set ( . . . )
      22. 18.3.22 String ( . . . )
      23. 18.3.23 Symbol ( . . . )
      24. 18.3.24 SyntaxError ( . . . )
      25. 18.3.25 TypeError ( . . . )
      26. 18.3.26 Uint8Array ( . . . )
      27. 18.3.27 Uint8ClampedArray ( . . . )
      28. 18.3.28 Uint16Array ( . . . )
      29. 18.3.29 Uint32Array ( . . . )
      30. 18.3.30 URIError ( . . . )
      31. 18.3.31 WeakMap ( . . . )
      32. 18.3.32 WeakSet ( . . . )
    4. 18.4 Other Properties of the Global Object
      1. 18.4.1 JSON
      2. 18.4.2 Math
      3. 18.4.3 Proxy ( . . . )
      4. 18.4.4 Reflect
      5. 18.4.5 System
  20. 19 Fundamental Objects
    1. 19.1 Object Objects
      1. 19.1.1 The Object Constructor
      2. 19.1.2 Properties of the Object Constructor
      3. 19.1.3 Properties of the Object Prototype Object
      4. 19.1.4 Properties of Object Instances
    2. 19.2 Function Objects
      1. 19.2.1 The Function Constructor
      2. 19.2.2 Properties of the Function Constructor
      3. 19.2.3 Properties of the Function Prototype Object
      4. 19.2.4 Function Instances
    3. 19.3 Boolean Objects
      1. 19.3.1 The Boolean Constructor
      2. 19.3.2 Properties of the Boolean Constructor
      3. 19.3.3 Properties of the Boolean Prototype Object
      4. 19.3.4 Properties of Boolean Instances
    4. 19.4 Symbol Objects
      1. 19.4.1 The Symbol Constructor
      2. 19.4.2 Properties of the Symbol Constructor
      3. 19.4.3 Properties of the Symbol Prototype Object
      4. 19.4.4 Properties of Symbol Instances
    5. 19.5 Error Objects
      1. 19.5.1 The Error Constructor
      2. 19.5.2 Properties of the Error Constructor
      3. 19.5.3 Properties of the Error Prototype Object
      4. 19.5.4 Properties of Error Instances
      5. 19.5.5 Native Error Types Used in This Standard
      6. 19.5.6 NativeError Object Structure
  21. 20 Numbers and Dates
    1. 20.1 Number Objects
      1. 20.1.1 The Number Constructor
      2. 20.1.2 Properties of the Number Constructor
      3. 20.1.3 Properties of the Number Prototype Object
      4. 20.1.4 Properties of Number Instances
    2. 20.2 The Math Object
      1. 20.2.1 Value Properties of the Math Object
      2. 20.2.2 Function Properties of the Math Object
    3. 20.3 Date Objects
      1. 20.3.1 Overview of Date Objects and Definitions of Abstract Operations
      2. 20.3.2 The Date Constructor
      3. 20.3.3 Properties of the Date Constructor
      4. 20.3.4 Properties of the Date Prototype Object
      5. 20.3.5 Properties of Date Instances
  22. 21 Text Processing
    1. 21.1 String Objects
      1. 21.1.1 The String Constructor
      2. 21.1.2 Properties of the String Constructor
      3. 21.1.3 Properties of the String Prototype Object
      4. 21.1.4 Properties of String Instances
      5. 21.1.5 String Iterator Objects
    2. 21.2 RegExp (Regular Expression) Objects
      1. 21.2.1 Patterns
      2. 21.2.2 Pattern Semantics
      3. 21.2.3 The RegExp Constructor
      4. 21.2.4 Properties of the RegExp Constructor
      5. 21.2.5 Properties of the RegExp Prototype Object
      6. 21.2.6 Properties of RegExp Instances
  23. 22 Indexed Collections
    1. 22.1 Array Objects
      1. 22.1.1 The Array Constructor
      2. 22.1.2 Properties of the Array Constructor
      3. 22.1.3 Properties of the Array Prototype Object
      4. 22.1.4 Properties of Array Instances
      5. 22.1.5 Array Iterator Objects
    2. 22.2 TypedArray Objects
      1. 22.2.1 The %TypedArray% Intrinsic Object
      2. 22.2.2 Properties of the %TypedArray% Intrinsic Object
      3. 22.2.3 Properties of the %TypedArrayPrototype% Object
      4. 22.2.4 The TypedArray Constructors
      5. 22.2.5 Properties of the TypedArray Constructors
      6. 22.2.6 Properties of TypedArray Prototype Objects
      7. 22.2.7 Properties of TypedArray Instances
  24. 23 Keyed Collection
    1. 23.1 Map Objects
      1. 23.1.1 The Map Constructor
      2. 23.1.2 Properties of the Map Constructor
      3. 23.1.3 Properties of the Map Prototype Object
      4. 23.1.4 Properties of Map Instances
      5. 23.1.5 Map Iterator Objects
    2. 23.2 Set Objects
      1. 23.2.1 The Set Constructor
      2. 23.2.2 Properties of the Set Constructor
      3. 23.2.3 Properties of the Set Prototype Object
      4. 23.2.4 Properties of Set Instances
      5. 23.2.5 Set Iterator Objects
    3. 23.3 WeakMap Objects
      1. 23.3.1 The WeakMap Constructor
      2. 23.3.2 Properties of the WeakMap Constructor
      3. 23.3.3 Properties of the WeakMap Prototype Object
      4. 23.3.4 Properties of WeakMap Instances
    4. 23.4 WeakSet Objects
      1. 23.4.1 The WeakSet Constructor
      2. 23.4.2 Properties of the WeakSet Constructor
      3. 23.4.3 Properties of the WeakSet Prototype Object
      4. 23.4.4 Properties of WeakSet Instances
  25. 24 Structured Data
    1. 24.1 ArrayBuffer Objects
      1. 24.1.1 Abstract Operations For ArrayBuffer Objects
      2. 24.1.2 The ArrayBuffer Constructor
      3. 24.1.3 Properties of the ArrayBuffer Constructor
      4. 24.1.4 Properties of the ArrayBuffer Prototype Object
      5. 24.1.5 Properties of the ArrayBuffer Instances
    2. 24.2 DataView Objects
      1. 24.2.1 Abstract Operations For DataView Objects
      2. 24.2.2 The DataView Constructor
      3. 24.2.3 Properties of the DataView Constructor
      4. 24.2.4 Properties of the DataView Prototype Object
      5. 24.2.5 Properties of DataView Instances
    3. 24.3 The JSON Object
      1. 24.3.1 JSON.parse ( text [ , reviver ] )
      2. 24.3.2 JSON.stringify ( value [ , replacer [ , space ] ] )
      3. 24.3.3 JSON [ @@toStringTag ]
  26. 25 Control Abstraction Objects
    1. 25.1 Iteration
      1. 25.1.1 Common Iteration Interfaces
      2. 25.1.2 The %IteratorPrototype% Object
    2. 25.2 GeneratorFunction Objects
      1. 25.2.1 The GeneratorFunction Constructor
      2. 25.2.2 Properties of the GeneratorFunction Constructor
      3. 25.2.3 Properties of the GeneratorFunction Prototype Object
      4. 25.2.4 GeneratorFunction Instances
    3. 25.3 Generator Objects
      1. 25.3.1 Properties of Generator Prototype
      2. 25.3.2 Properties of Generator Instances
      3. 25.3.3 Generator Abstract Operations
    4. 25.4 Promise Objects
      1. 25.4.1 Promise Abstract Operations
      2. 25.4.2 Promise Jobs
      3. 25.4.3 The Promise Constructor
      4. 25.4.4 Properties of the Promise Constructor
      5. 25.4.5 Properties of the Promise Prototype Object
      6. 25.4.6 Properties of Promise Instances
  27. 26 Reflection
    1. 26.1 The Reflect Object
      1. 26.1.1 Reflect.apply ( target, thisArgument, argumentsList )
      2. 26.1.2 Reflect.construct ( target, argumentsList )
      3. 26.1.3 Reflect.defineProperty ( target, propertyKey, attributes )
      4. 26.1.4 Reflect.deleteProperty ( target, propertyKey )
      5. 26.1.5 Reflect.enumerate ( target )
      6. 26.1.6 Reflect.get ( target, propertyKey [ , receiver ])
      7. 26.1.7 Reflect.getOwnPropertyDescriptor ( target, propertyKey )
      8. 26.1.8 Reflect.getPrototypeOf ( target )
      9. 26.1.9 Reflect.has ( target, propertyKey )
      10. 26.1.10 Reflect.isExtensible (target)
      11. 26.1.11 Reflect.ownKeys ( target )
      12. 26.1.12 Reflect.preventExtensions ( target )
      13. 26.1.13 Reflect.set ( target, propertyKey, V [ , receiver ] )
      14. 26.1.14 Reflect.setPrototypeOf ( target, proto )
    2. 26.2 Loader Objects
      1. 26.2.1 The Reflect.Loader Constructor
      2. 26.2.2 Properties of the Loader Constructor
      3. 26.2.3 Properties of the Reflect.Loader Prototype Object
      4. 26.2.4 Properties of Reflect.Loader Instances
      5. 26.2.5 Loader Iterator Objects
    3. 26.3 The System Object
    4. 26.4 Proxy Objects
      1. 26.4.1 The Proxy Constructor Function
      2. 26.4.2 Properties of the Proxy Constructor Function
  28. Annex A (informative) Grammar Summary
    1. A.1 Lexical Grammar
    2. A.2 Expressions
    3. A.3 Statements
    4. A.4 Functions and Scripts
    5. A.5 Number Conversions
    6. A.6 Universal Resource Identifier Character Classes
    7. A.7 Regular Expressions
  29. Annex B (normative) Additional ECMAScript Features for Web Browsers
    1. B.1 Additional Syntax
      1. B.1.1 Numeric Literals
      2. B.1.2 String Literals
      3. B.1.3 HTML-like Comments
      4. B.1.4 Regular Expressions Patterns
    2. B.2 Additional Built-in Properties
      1. B.2.1 Additional Properties of the Global Object
      2. B.2.2 Additional Properties of the Object.prototype Object
      3. B.2.3 Additional Properties of the String.prototype Object
      4. B.2.4 Additional Properties of the Date.prototype Object
      5. B.2.5 Additional Properties of the RegExp.prototype Object
    3. B.3 Other Additional Features
      1. B.3.1 __proto__ Property Names in Object Initializers
      2. B.3.2 Labelled Function Declarations
      3. B.3.3 Block-Level Function Declarations Web Legacy Compatibility Semantics
      4. B.3.4 FunctionDeclarations in IfStatement Statement Clauses.
      5. B.3.5 VariableStatements in Catch blocks
  30. Annex C (informative) The Strict Mode of ECMAScript
  31. Annex D (informative) Corrections and Clarifications with Possible Compatibility Impact
    1. D.1 In Edition 6
    2. D.2 In Edition 5.1
    3. D.3 In Edition 5
  32. Annex E (informative) Additions and Changes That Introduce Incompatibilities with Prior Editions
    1. E.1 In the 6th Edition
    2. E.2 In the 5th Edition
  33. Bibliography

[转载]ECMA-262 6th Edition / Draft August 24, 2014 Draft ECMAScript Language Specification的更多相关文章

  1. ios Programming:The Big Nerd Ranch Guid(6th Edition) (Joe Conway & AARON HILLEGASS 著)

    Introduction (已看) Prerequisites What Has Changed in the Sixth Edition? Our Teaching Philosophy How t ...

  2. #翻译#原文来自Database.System.Concepts(6th.Edition.2010)2.6Relational Operations,原文作者Abraham Silberschaz , Henry F. Korth , S. Sudarshan

    2.6关系操作 所有的过程关系查询语言都提供一组操作,这些操作可以应用于单个关系或一对关系.这些操作具有良好的和期望的属性,它们的结果总是一个单一的关系.这个属性允许一个以模块化的方式组合其中的几个操 ...

  3. [Database.System.Concepts(6th.Edition.2010)].Abraham.Silberschatz. Ch8学习笔记

    Database Ch8.relational design 8.1 features of good design 8.1.1 larger alternatives why design is g ...

  4. 转载 -- Cocoapod方式引入百川SDK -报错[!] Unable to find a specification for `xxx`

    [cocopad集成百川sdk官网] iOS需要填写BundleID .BundleID要是当前应用的BundleID.勾选淘宝登录基础包下载SDK. 注意事项:将下载的SDK中的身份图片yw_122 ...

  5. CodeChef August Lunchtime 2014 题解

    A题 给一个由a和b两种类型的字符组成的字符串,每次可以从中选取任意长度的回文子序列(不一定连续)并删除.问最少需要几次能将整个字符串为空. 思路:如果本身是个回文串,那么只需要一次,否则需要两次(第 ...

  6. JVM Specification 9th Edition (2) Chapter 1. Introduction

    Chapter 1. Introduction 翻译太累了,我就这样的看英文吧. 内容列表 1.1. A Bit of History 1.2. The Java Virtual Machine 1. ...

  7. comp.lang.javascript FAQ [zz]

    comp.lang.javascript FAQ Version 32.2, Updated 2010-10-08, by Garrett Smith FAQ Notes 1 Meta-FAQ met ...

  8. .NET 框架(转自wiki)

    .NET Framework (pronounced dot net) is a software framework developed by Microsoft that runs primari ...

  9. 各式 Web 前端開發工具整理

    程式碼編寫工具 (Coding Tools) 工作流程/建置/組合 (Workflow/Builds/Assemblers) lumbar brunch grunt lineman yeoman Ta ...

随机推荐

  1. ASP.NET MVC 1.0 参考源码索引

    http://www.projky.com/asp.netmvc/1.0/System/Web/Mvc/AcceptVerbsAttribute.cs.htmlhttp://www.projky.co ...

  2. Android之自定义View学习(一)

    Android之自定义View学习(一) Canvas常用方法: 图片来源 /** * Created by SiberiaDante on 2017/6/3. */ public class Bas ...

  3. Android 开发工具下载中文网站

    Android官方网站(develop.android.com)因为被墙而无法访问.这时可以访问中文网址: http://wear.techbrood.com/ SDK Manager 代理及安装文件 ...

  4. Nginx负载均衡配置与负载策略

    原理 负载均衡的目的是为了解决单个节点压力过大,造成Web服务响应过慢,严重的情况下导致服务瘫痪,无法正常提供服务. 应用场景 春节期间在12306网站上买过火车票的朋友应该深有体会,有时查询一张火车 ...

  5. c# 连接操作linux

    0.背景 现在linux重要性是显然易见的,学习linux是必须,通过程序来来控制linux 也能发挥很大的作用.比如我们可以做一个自动化部署的程序,来发布程序到linux上面. 1.在项目中添加SS ...

  6. static关键字的总结

    C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. 1.面向过程设计中的st ...

  7. 对CAS机制的理解(二)

    一.Java当中CAS的底层实现首先看看AtomicInteger的源码,AtomicInteger中常用的自增方法 incrementAndGet: public final int increme ...

  8. BZOJ3277 串(后缀数组+二分答案+主席树)

    因为不会SAM,考虑SA.将所有串连起来并加分隔符,每次考虑计算以某个位置开始的子串有多少个合法. 对此首先二分答案,找到名次数组上的一个区间,那么只需要统计有多少个所给串在该区间内出现就可以了.这是 ...

  9. DB2 Vs MySQL系列 | MySQL与DB2的数据类型对比

    随着MySQL数据库的应用越来越广泛,DB2向MySQL数据库的迁移需求也越来越多.进行数据库之间迁移的时候,首先遇到的并且也是最基本最重要的就是两种数据库数据类型之间的转换. 相关阅读: 从商用到开 ...

  10. 【HBuilder】手机App推送至Apple App Store过程

    一.前言        最近由于公司同事离职,顶替这位同事从事手机App的研发工作,BIM数据平台部门采用的是HBuilder作为手机App的制作环境.本篇介绍我是如何将HBuilder的Releas ...