[[Value]]

Both are standing for a same property but with different definition attributes.http://

[[Configurable]](Determin whether delete or change the attributes except [[value]])

technet.microsoft.com/zh-cn/magazine/dd548687(de-de,VS. 94).aspx

[[Writeable]] Named data property(Attributes) [[Emunerable]]

Undefined Type

[[Set]](assignment)

Null Type

ECMAScript Language Types

[[Get]](retrieval) Named accessor property(Attributes) [[Emunerable]]

Boolean Type [[Configurable]]

Property Number Type

[[Prototype]]

String(Each element is considered to be a single UTF-16 code unit) Type - The set of all finite ordered sequences of zero or more 16-bit unsigned inter values

[[Class]] All objects [[Extensiable]] Internal property

[[Get]]

Object(A collection of properties) Type [[GetOwnProperty]]

Type

[[GetProperty]] [[Put]] List Type(explain the evaluation of argument lists in

[[CanPut]]

new expressions, in function calls, and in other algorithms where a simple list of values is needed )

[[HasProperty]]

Completion Type(used to explain the behaviour of statements (break, continue, return and throw) )

[[Delete]]

IsDataDescriptor(Desc) - Desc = {[[value]]:42, [[writeable]]:false}

[[DefaultValue]]

Specification Types(describe the semantics of

IsAccessorDescriptor(Desc)

ECMAScript language constructs and ECMAScript language types )

IsGenericDescriptor(neither data nor accessor desc)

[[DefineOwnProperty]]

Property Descriptor and Property Identifier Types FromPropertyDescriptor(Desc) [[PrimitiveValue]]

ToPropertyDescriptor(Obj) Reference Type(used to explain the behaviour of such operators as delete, typeof, and the assignment operators ) - A Reference consists of

operate on references

[[Construct]]

GetValue(V) Some objects

[[Call]]

PutValue(V)

three components, the base value, the referenced name and the Boolean valued strict reference flag

[[HasInstance]] [[Scope]]

access the components of references(The base value is either undefined, an Object, a Boolean, a String, a Number, or an environment record,A base value of undefined indicates that the reference could not be resolved to a binding )

[[FormalParameters]]

GetBase(V)

[[Code]]

GetReferencedName(V)

[[TargetFunction]] Lexical Environment and Environment record Types

IsStrictReference(V) [[BoundThis]] HasPrimitiveBase(V)

ECMAScript

[[BoundArguments]]

Source(>Unocode 3.0, unsigned utf-16)

Global Code

IsPropertyReference(V) [[Match]]

Eval Code

IsUnresolvableReference(V)

Executable Code

[[ParameterMap]]

Function Code NewDeclarativeEnvironment (E) NewObjectEnvironment (O, E)

Executable Environment VariableEnvironment(Identifies the Lexical

Executable Context

Environment whose environment record holds bindings created by VariableStatements and FunctionDeclarations within this execution context.)

Environment Operation

LexicalEnvironment(define the association of

The Global Environment(The global environment is a

Identifiers to specific variables and functions based upon the lexical nesting structure of ECMAScript code )

GetIdentifierReference (lex, name, strict)

unique Lexical Environment which is created before any ECMAScript code is executed. The global environment‘s Environment Record is an object environment record whose binding object is the global object. The global environment‘s outer environment reference is null. )

ThisBinding declarative environment records outer Lexical Environment

HasBinding(N)

Records object environment records

Components WhiteSpace

SetMutableBinding(N,V, S)

Environment Record

Identifier Keyword

GetBindingValue(N,S)

LineTerminator InputElementDiv

Comment

All IdentifierName FutureReservedWord Punctutor

Token DivPunctuator

NumberLiteral

Literal Grammar StringLiteral WhiteSpace InputElementRegExp LineTerminator Comment

Token

RegularExpressionLiteral

ReservedWord

CreateMutableBinding(N, D)

methods

DeleteBinding(N) ImplicitThisValue()

NullLiteral CreateImmutableBinding(N) BooleanLiteral

declarative records(Special - mutable or immutable) InitializeImmutableBinding(N,V)

ECMAScript - GitHub

ECMAScript Language Types. Undefined Type. Null Type. Boolean Type. String(Each element is considered to be a single. UTF-16 code unit) Type - The set of ...

86KB Sizes 1 Downloads 136 Views

Recommend Documents

Read PDF Understanding ECMAScript 6
JavaScript Developers - Full PDF - By Nicholas C. Zakas ... Information Technology amp Software Development Adobe Creative Team Adobe Press Digital Media .... change the way you organize codeWhether you're a web developer or a.

PDF Online Understanding ECMAScript 6
PDF online, PDF new Understanding ECMAScript 6: The Definitive Guide for JavaScript Developers, Online PDF Understanding ECMAScript 6: The Definitive Guide for JavaScript Developers Read PDF Understanding ECMAScript 6: The Definitive Guide for JavaSc

Online PDF Understanding ECMAScript 6
PDF online, PDF new Understanding ECMAScript 6: The Definitive Guide for .... that works in any JavaScript environment so you'll be able to see new features in ... improve asynchronous programming with promises–How modules change the ...

ePub Understanding ECMAScript 6: The Definitive ...
... useful–How arrow functions differ from regular functions–Ways to store data ... Guide for JavaScript Developers, read online Understanding ECMAScript 6: ...