zoukankan      html  css  js  c++  java
  • [转载]ECMA-262 6th Edition / Draft August 24, 2014 Draft ECMAScript Language Specification

    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
  • 相关阅读:
    Cayley's Tree Formula & Prufer's Method
    POJ 2262:Goldbach's Conjecture
    The Sieve of Eratosthenes (素数筛选法)
    POJ 2244:Eeny Meeny Moo(稍加变形的约瑟夫问题)
    POJ 1595:Prime Cuts
    iframe标签的使用
    js笔记
    Asp.Net知识点
    Reapte控件的使用
    浮躁十年
  • 原文地址:https://www.cnblogs.com/Benoly/p/3977356.html
Copyright © 2011-2022 走看看