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. 深入理解JAVA I/O系列四:RandomAccessFile

    一.简述 这个是JDK上的截图,我们可以看到它的父类是Object,没有继承字节流.字符流家族中任何一个类.并且它实现了DataInput.DataOutput这两个接口,也就意味着这个类既可以读也可 ...

  2. grep文本处理工具

    grep是一款文本过滤工具,基于正则表达式进行模式匹配sed:stream editor 流编辑器awk:linux上实现为gawk,文本报告生成器(格式化文本)文本搜索工具,根据用户指定的模式,对目 ...

  3. 字符串经过base64编码后的长度与原字符串的长度是什么关系呀?

    beforeEncode为Encode之前的字符串 那么Encode后的字符串长度为: 1.如果beforeEncode.length()是3的整数倍,那么长度为  (beforeEncode.len ...

  4. 微信小程序 功能函数 替换字符串内的指定字符

    var str = 'abcadeacf'; var str1 = str.replace('a', 'o'); alert(str1);    // 打印结果: obcadeacf   var st ...

  5. linq 左连接实现两个集合的合并

    //第一个集合为所有的数据 var specilist = new List<Me.SpecificationsInfo>(); var resultall = (from a in db ...

  6. LOJ #143. 质数判定

    题目描述 判定输入的数是不是质数. 输入格式 若干行,一行一个数 x. 行数不超过 1.5×104​​. 输出格式 对于输入的每一行,如果 x 是质数输出一行 Y,否则输出一行 N. 样例 样例输入 ...

  7. vyos 基础配置

    vyos 基础配置 http://www.lowefamily.com.au/2015/11/29/using-a-vyos-router-with-hyper-v/1/http://thomasvo ...

  8. thread 学习

    #include <thread> #include <cstdio> #include <utility> #include <iostream> v ...

  9. win7下解决烦人的管理员权限问题

    禁不住诱惑,用上win7了.可是,对system下的文件进行编辑时候,老是碰到什么必须拥有管理员权限才能进行操作,删除文件或者文件夹也遇到一样的问题.我就纳闷了,我不就是超级管理员吗?我怎么就没有权限 ...

  10. BZOJ 3166: [Heoi2013]Alo

    3166: [Heoi2013]Alo Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 923  Solved: 437[Submit][Status] ...