各通常オブジェクト内部メソッドは同名の抽象操作に委譲する。そのような抽象操作が別の内部メソッドに依存する場合、同名の抽象操作を直接呼ぶ代わりに O 上で内部メソッドが呼び出される。これらのセマンティクスは、通常オブジェクト内部メソッドが適用された際に、エキゾチックオブジェクトではオーバーライドされた内部メソッドが呼ばれることを保証する。
10.1.1[[GetPrototypeOf]] ( )
The [[GetPrototypeOf]] internal method of 通常オブジェクトO takes no arguments and returns Object か null を含む正常完了. It performs the following steps when called:
The abstract operation OrdinaryGetPrototypeOf takes argument O (an Object) and returns an Object or null. It performs the following steps when called:
O.[[Prototype]] を返す。
10.1.2[[SetPrototypeOf]] ( V )
The [[SetPrototypeOf]] internal method of 通常オブジェクトO takes argument V (an Object or null) and returns Boolean を含む正常完了. It performs the following steps when called:
The abstract operation OrdinarySetPrototypeOf takes arguments O (an Object) and V (an Object or null) and returns a Boolean. It performs the following steps when called:
The abstract operation OrdinaryPreventExtensions takes argument O (an Object) and returns true. It performs the following steps when called:
O.[[Extensible]] を false に設定する。
true を返す。
10.1.5[[GetOwnProperty]] ( P )
The [[GetOwnProperty]] internal method of 通常オブジェクトO takes argument P (a property key) and returns Property Descriptor か undefined を含む正常完了. It performs the following steps when called:
The abstract operation OrdinaryGetOwnProperty takes arguments O (an Object) and P (a property key) and returns a Property Descriptor or undefined. It performs the following steps when called:
The [[DefineOwnProperty]] internal method of 通常オブジェクトO takes arguments P (a property key) and Desc (a Property Descriptor) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation OrdinaryDefineOwnProperty takes arguments O (an Object), P (a property key), and Desc (a Property Descriptor) and returns either a normal completion containing a Boolean or a throw completion. It performs the following steps when called:
10.1.6.2 IsCompatiblePropertyDescriptor ( Extensible, Desc, Current )
The abstract operation IsCompatiblePropertyDescriptor takes arguments Extensible (a Boolean), Desc (a Property Descriptor), and Current (a Property Descriptor or undefined) and returns a Boolean. It performs the following steps when called:
10.1.6.3 ValidateAndApplyPropertyDescriptor ( O, P, extensible, Desc, current )
The abstract operation ValidateAndApplyPropertyDescriptor takes arguments O (an Object or undefined), P (a property key), extensible (a Boolean), Desc (a Property Descriptor), and current (a Property Descriptor or undefined) and returns a Boolean. Desc が、指定された拡張可能性 extensible と現行プロパティ current を持つオブジェクトのプロパティとして 不変条件 を維持しつつ適用できる場合に限り true を返す。そのような適用が可能で O が undefined でない場合、名前 P のプロパティ(必要なら作成される)に対して実行される。 It performs the following steps when called:
オブジェクト O の名前 P のプロパティを、[[Configurable]] と [[Enumerable]] をそれぞれ configurable と enumerable に、[[Value]] と [[Writable]] を Desc に対応フィールドがあればその値、なければその属性の 既定値 に設定したデータプロパティに置き換える。
それ以外の場合
Desc の各フィールドについて、オブジェクト O の名前 P のプロパティの対応する属性をそのフィールドの値に設定する。
true を返す。
10.1.7[[HasProperty]] ( P )
The [[HasProperty]] internal method of 通常オブジェクトO takes argument P (a property key) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation OrdinaryHasProperty takes arguments O (an Object) and P (a property key) and returns either a normal completion containing a Boolean or a throw completion. It performs the following steps when called:
hasOwn を ? O.[[GetOwnProperty]](P) とする。
hasOwn が undefined でないなら true を返す。
parent を ? O.[[GetPrototypeOf]]() とする。
parent が null でないなら
? parent.[[HasProperty]](P) を返す。
false を返す。
10.1.8[[Get]] ( P, Receiver )
The [[Get]] internal method of 通常オブジェクトO takes arguments P (a property key) and Receiver (an ECMAScript language value) and returns ECMAScript 言語値を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation OrdinaryGet takes arguments O (an Object), P (a property key), and Receiver (an ECMAScript language value) and returns either a normal completion containing an ECMAScript language value or a throw completion. It performs the following steps when called:
The [[Set]] internal method of 通常オブジェクトO takes arguments P (a property key), V (an ECMAScript language value), and Receiver (an ECMAScript language value) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation OrdinarySet takes arguments O (an Object), P (a property key), V (an ECMAScript language value), and Receiver (an ECMAScript language value) and returns either a normal completion containing a Boolean or a throw completion. It performs the following steps when called:
10.1.9.2 OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
The abstract operation OrdinarySetWithOwnDescriptor takes arguments O (an Object), P (a property key), V (an ECMAScript language value), Receiver (an ECMAScript language value), and ownDesc (a Property Descriptor or undefined) and returns either a normal completion containing a Boolean or a throw completion. It performs the following steps when called:
The [[Delete]] internal method of 通常オブジェクトO takes argument P (a property key) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation OrdinaryDelete takes arguments O (an Object) and P (a property key) and returns either a normal completion containing a Boolean or a throw completion. It performs the following steps when called:
desc を ? O.[[GetOwnProperty]](P) とする。
desc が undefined なら true を返す。
desc.[[Configurable]] が true なら
名前 P の自身のプロパティを O から除去する。
true を返す。
false を返す。
10.1.11[[OwnPropertyKeys]] ( )
The [[OwnPropertyKeys]] internal method of 通常オブジェクトO takes no arguments and returns プロパティキーの List を含む正常完了. It performs the following steps when called:
The abstract operation OrdinaryOwnPropertyKeys takes argument O (an Object) and returns a List of property keys. It performs the following steps when called:
O の各自身のプロパティキーP で、P が String かつ配列インデックスでないものについて、作成順(時間順)昇順で:
keys に P を追加する。
O の各自身のプロパティキーP で、P が Symbol であるものについて、作成順(時間順)昇順で:
keys に P を追加する。
keys を返す。
10.1.12 OrdinaryObjectCreate ( proto [ , additionalInternalSlotsList ] )
The abstract operation OrdinaryObjectCreate takes argument proto (an Object or null) and optional argument additionalInternalSlotsList (a List of names of internal slots) and returns an Object. 新しい通常オブジェクトの実行時生成を規定するために使用される。additionalInternalSlotsList には [[Prototype]] および [[Extensible]] に加えてオブジェクトの一部として定義されるべき追加内部スロットの名前が含まれる。additionalInternalSlotsList が与えられない場合、新しい空の List が使用される。 It performs the following steps when called:
The abstract operation OrdinaryCreateFromConstructor takes arguments constructor (a function object) and intrinsicDefaultProto (a String) and optional argument internalSlotsList (a List of names of internal slots) and returns Object を含む正常完了または throw 完了. 存在するならコンストラクタの "prototype" プロパティから取得した [[Prototype]] 値を持つ通常オブジェクトを生成する。存在しない場合 intrinsicDefaultProto で名付けられた intrinsic が [[Prototype]] として使用される。internalSlotsList には追加内部スロット名が含まれる。未指定の場合は空の List が使用される。 It performs the following steps when called:
The abstract operation GetPrototypeFromConstructor takes arguments constructor (a function object) and intrinsicDefaultProto (a String) and returns Object を含む正常完了または throw 完了. 特定のコンストラクタに対応するオブジェクトを作成する際に使用すべき [[Prototype]] 値を決定する。値はコンストラクタの "prototype" プロパティから取得され、存在しない場合 intrinsicDefaultProto で名付けられた intrinsic が [[Prototype]] に用いられる。 It performs the following steps when called:
The abstract operation RequireInternalSlot takes arguments O (an ECMAScript language value) and internalSlot (an internal slot name) and returns unused を含む正常完了または throw 完了. O が Object であり、かつ指定された内部スロットを持つ場合を除いて例外を投げる。 It performs the following steps when called:
O が Object でないなら TypeError 例外を投げる。
O が internalSlot 内部スロットを持たないなら TypeError 例外を投げる。
unused を返す。
10.2 ECMAScript 関数オブジェクト (ECMAScript Function Objects)
関数の仮引数およびコード本体内での this 参照の解釈方法を定義する。lexical は this がレキシカルに内包する関数の this 値を指すことを意味する。strict は関数呼び出しで与えられた this 値をそのまま用いる。global は this 値が undefined または null の場合グローバルオブジェクト参照と解釈し、その他の場合は ToObject に渡すことを意味する。
The [[Call]] internal method of ECMAScript 関数オブジェクトF takes arguments thisArgument (an ECMAScript language value) and argumentsList (a List of ECMAScript language values) and returns ECMAScript 言語値を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation PrepareForOrdinaryCall takes arguments F (an ECMAScript function object) and newTarget (an Object or undefined) and returns an execution context. It performs the following steps when called:
The abstract operation OrdinaryCallBindThis takes arguments F (an ECMAScript function object), calleeContext (an execution context), and thisArgument (an ECMAScript language value) and returns unused. It performs the following steps when called:
The syntax-directed operation EvaluateBody takes arguments functionObject (an ECMAScript function object) and argumentsList (a List of ECMAScript language values) and returns a return completion or a throw completion. It is defined piecewise over the following productions:
The abstract operation OrdinaryCallEvaluateBody takes arguments F (an ECMAScript function object) and argumentsList (a List of ECMAScript language values) and returns a return completion or a throw completion. It performs the following steps when called:
F.[[ECMAScriptCode]] の EvaluateBody を引数 F および argumentsList で評価し ? を付して結果を返す。
10.2.2[[Construct]] ( argumentsList, newTarget )
The [[Construct]] internal method of ECMAScript 関数オブジェクトF takes arguments argumentsList (a List of ECMAScript language values) and newTarget (a constructor) and returns Object を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation OrdinaryFunctionCreate takes arguments functionPrototype (an Object), sourceText (a sequence of Unicode code points), ParameterList (a Parse Node), Body (a Parse Node), thisMode (lexical-this or non-lexical-this), env (an Environment Record), and privateEnv (a PrivateEnvironment Record or null) and returns an ECMAScript function object. 新しい関数を(既定の [[Call]] 内部メソッドと、後で MakeConstructor などの操作によって追加されうる場合を除き [[Construct]] 内部メソッドなしで)実行時生成することを規定する。sourceText は生成対象関数の構文定義のソーステキストである。 It performs the following steps when called:
The abstract operation AddRestrictedFunctionProperties takes arguments F (a function object) and realm (a Realm Record) and returns unused. It performs the following steps when called:
The abstract operation MakeConstructor takes argument F (an ECMAScript function object or a built-in function object) and optional arguments writablePrototype (a Boolean) and prototype (an Object) and returns unused. F をコンストラクタに変換する。 It performs the following steps when called:
The abstract operation MakeClassConstructor takes argument F (an ECMAScript function object) and returns unused. It performs the following steps when called:
アサート: F.[[IsClassConstructor]] は false。
F.[[IsClassConstructor]] を true に設定する。
unused を返す。
10.2.7 MakeMethod ( F, homeObject )
The abstract operation MakeMethod takes arguments F (an ECMAScript function object) and homeObject (an Object) and returns unused. F を method として構成する。 It performs the following steps when called:
The abstract operation DefineMethodProperty takes arguments homeObject (an Object), key (a property key or Private Name), closure (a function object), and enumerable (a Boolean) and returns PrivateElement または unused を含む正常完了、または abrupt completion. It performs the following steps when called:
The abstract operation SetFunctionName takes arguments F (a function object) and name (a property key or Private Name) and optional argument prefix (a String) and returns unused. F に "name" プロパティを追加する。 It performs the following steps when called:
The abstract operation SetFunctionLength takes arguments F (a function object) and length (a non-negative integer or +∞) and returns unused. F に "length" プロパティを追加する。 It performs the following steps when called:
The abstract operation FunctionDeclarationInstantiation takes arguments func (an ECMAScript function object) and argumentsList (a List of ECMAScript language values) and returns unused を含む正常完了または throw 完了. func は実行コンテキストが確立される関数オブジェクトである。
Note
ECMAScript 関数の評価のために実行コンテキストが確立されると、新しい Function Environment Record が作成され、各仮引数の束縛がその Environment Record にインスタンス化される。関数本体内の各宣言もインスタンス化される。関数の仮引数に既定値初期化子が含まれない場合、本体宣言は仮引数と同じ Environment Record 内にインスタンス化される。既定値パラメータ初期化子が存在する場合、本体宣言用に 2 つ目の Environment Record が作成される。仮引数および関数は FunctionDeclarationInstantiation の一部として初期化される。その他の束縛は関数本体の評価中に初期化される。
The [[Call]] internal method of 組み込み関数オブジェクトF takes arguments thisArgument (an ECMAScript language value) and argumentsList (a List of ECMAScript language values) and returns ECMAScript 言語値を含む正常完了または throw 完了. It performs the following steps when called:
The [[Construct]] internal method of (このメソッドを持つ場合の)組み込み関数オブジェクトF takes arguments argumentsList (a List of ECMAScript language values) and newTarget (a constructor) and returns Object を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation BuiltinCallOrConstruct takes arguments F (a built-in function object), thisArgument (an ECMAScript language value or uninitialized), argumentsList (a List of ECMAScript language values), and newTarget (a constructor or undefined) and returns ECMAScript 言語値を含む正常完了または throw 完了. It performs the following steps when called:
result を、F の仕様に適合する形で F を評価した結果である Completion Record とする。thisArgument が uninitialized なら this 値は未初期化、それ以外の場合 thisArgument が this 値を提供する。argumentsList は名前付き引数を提供し、newTarget は NewTarget 値を提供する。
注記: F がこの文書内で定義されている場合、「F の仕様」とはアルゴリズム手順や他の手段で指定されたその挙動である。
The abstract operation CreateBuiltinFunction takes arguments behaviour (an Abstract Closure, a set of algorithm steps, or some other definition of a function's behaviour provided in this specification), length (a non-negative integer or +∞), name (a property key or a Private Name), and additionalInternalSlotsList (a List of names of internal slots) and optional arguments realm (a Realm Record), prototype (an Object or null), and prefix (a String) and returns a built-in function object. additionalInternalSlotsList にはオブジェクトの一部として定義されなければならない追加内部スロット名が含まれる。この操作は組み込み関数オブジェクトを生成する。 It performs the following steps when called:
The [[Call]] internal method of 束縛関数エキゾチックオブジェクトF takes arguments thisArgument (an ECMAScript language value) and argumentsList (a List of ECMAScript language values) and returns ECMAScript 言語値を含む正常完了または throw 完了. It performs the following steps when called:
The [[Construct]] internal method of 束縛関数エキゾチックオブジェクトF takes arguments argumentsList (a List of ECMAScript language values) and newTarget (a constructor) and returns Object を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation BoundFunctionCreate takes arguments targetFunction (a function object), boundThis (an ECMAScript language value), and boundArgs (a List of ECMAScript language values) and returns function object を含む正常完了または throw 完了. 新しい束縛関数エキゾチックオブジェクトの生成を規定する。 It performs the following steps when called:
proto を ? targetFunction.[[GetPrototypeOf]]() とする。
The [[DefineOwnProperty]] internal method of Array エキゾチックオブジェクトA takes arguments P (a property key) and Desc (a Property Descriptor) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation ArrayCreate takes argument length (a non-negative integer) and optional argument proto (an Object) and returns Array エキゾチックオブジェクトまたは throw 完了. 新しい Array の生成を規定する。 It performs the following steps when called:
The abstract operation ArraySpeciesCreate takes arguments originalArray (an Object) and length (a non-negative integer) and returns Object を含む正常完了または throw 完了. originalArray から派生したコンストラクタ関数を用いて新しい Array または類似オブジェクトを生成することを規定する。コンストラクタが Array を返すことは強制されない。 It performs the following steps when called:
The abstract operation ArraySetLength takes arguments A (an Array) and Desc (a Property Descriptor) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[GetOwnProperty]] internal method of String エキゾチックオブジェクトS takes argument P (a property key) and returns Property Descriptor か undefined を含む正常完了. It performs the following steps when called:
The [[DefineOwnProperty]] internal method of String エキゾチックオブジェクトS takes arguments P (a property key) and Desc (a Property Descriptor) and returns Boolean を含む正常完了. It performs the following steps when called:
The [[OwnPropertyKeys]] internal method of String エキゾチックオブジェクトO takes no arguments and returns プロパティキーの List を含む正常完了. It performs the following steps when called:
The abstract operation StringCreate takes arguments value (a String) and prototype (an Object) and returns a String exotic object. 新しい String エキゾチックオブジェクトの生成を規定する。 It performs the following steps when called:
S を MakeBasicObject(« [[Prototype]], [[Extensible]], [[StringData]] ») とする。
The abstract operation StringGetOwnProperty takes arguments S (an Object that has a [[StringData]] internal slot) and P (a property key) and returns a Property Descriptor or undefined. It performs the following steps when called:
The [[GetOwnProperty]] internal method of arguments エキゾチックオブジェクトargs takes argument P (a property key) and returns Property Descriptor か undefined を含む正常完了. It performs the following steps when called:
The [[DefineOwnProperty]] internal method of arguments エキゾチックオブジェクトargs takes arguments P (a property key) and Desc (a Property Descriptor) and returns Boolean を含む正常完了. It performs the following steps when called:
The [[Get]] internal method of arguments エキゾチックオブジェクトargs takes arguments P (a property key) and Receiver (an ECMAScript language value) and returns ECMAScript 言語値を含む正常完了または throw 完了. It performs the following steps when called:
The [[Set]] internal method of arguments エキゾチックオブジェクトargs takes arguments P (a property key), V (an ECMAScript language value), and Receiver (an ECMAScript language value) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[Delete]] internal method of arguments エキゾチックオブジェクトargs takes argument P (a property key) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation CreateUnmappedArgumentsObject takes argument argumentsList (a List of ECMAScript language values) and returns an ordinary object. It performs the following steps when called:
The abstract operation CreateMappedArgumentsObject takes arguments func (an Object), formals (a Parse Node), argumentsList (a List of ECMAScript language values), and env (an Environment Record) and returns an arguments exotic object. It performs the following steps when called:
The abstract operation MakeArgGetter takes arguments name (a String) and env (an Environment Record) and returns a function object. env において name に束縛された値を返す組み込み関数オブジェクトを生成する。 It performs the following steps when called:
The abstract operation MakeArgSetter takes arguments name (a String) and env (an Environment Record) and returns a function object. env において name に束縛された値を設定する組み込み関数オブジェクトを生成する。 It performs the following steps when called:
The [[GetOwnProperty]] internal method of TypedArrayO takes argument P (a property key) and returns Property Descriptor か undefined を含む正常完了. It performs the following steps when called:
The [[HasProperty]] internal method of TypedArrayO takes argument P (a property key) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[DefineOwnProperty]] internal method of TypedArrayO takes arguments P (a property key) and Desc (a Property Descriptor) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[Get]] internal method of TypedArrayO takes arguments P (a property key) and Receiver (an ECMAScript language value) and returns ECMAScript 言語値を含む正常完了または throw 完了. It performs the following steps when called:
The [[Set]] internal method of TypedArrayO takes arguments P (a property key), V (an ECMAScript language value), and Receiver (an ECMAScript language value) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[Delete]] internal method of TypedArrayO takes argument P (a property key) and returns Boolean を含む正常完了. It performs the following steps when called:
The [[OwnPropertyKeys]] internal method of TypedArrayO takes no arguments and returns プロパティキーの List を含む正常完了. It performs the following steps when called:
10.4.5.9 バッファ監視付き TypedArray レコード (TypedArray With Buffer Witness Records)
TypedArray With Buffer Witness Record は、TypedArray と、ビュー対象バッファのキャッシュされたバイト長をカプセル化する Record 値である。Growable SharedArrayBuffer をビューしている場合に、そのバイト長データブロックの単一の共有メモリ読取イベントがあることを保証する助けとなる。
TypedArray With Buffer Witness Record は Table 30 に列挙されるフィールドを持つ。
10.4.5.10 MakeTypedArrayWithBufferWitnessRecord ( obj, order )
The abstract operation MakeTypedArrayWithBufferWitnessRecord takes arguments obj (a TypedArray) and order (seq-cst or unordered) and returns a TypedArray With Buffer Witness Record. It performs the following steps when called:
The abstract operation TypedArrayCreate takes argument prototype (an Object) and returns a TypedArray. 新しい TypedArray の生成を規定する。 It performs the following steps when called:
The abstract operation TypedArrayByteLength takes argument taRecord (a TypedArray With Buffer Witness Record) and returns a non-negative integer. It performs the following steps when called:
The abstract operation TypedArrayLength takes argument taRecord (a TypedArray With Buffer Witness Record) and returns a non-negative integer. It performs the following steps when called:
The abstract operation IsTypedArrayOutOfBounds takes argument taRecord (a TypedArray With Buffer Witness Record) and returns a Boolean. オブジェクトの数値プロパティのいずれかが基礎バッファの境界外のインデックスを参照するかを確認する。 It performs the following steps when called:
The abstract operation IsValidIntegerIndex takes arguments O (a TypedArray) and index (a Number) and returns a Boolean. It performs the following steps when called:
The abstract operation TypedArrayGetElement takes arguments O (a TypedArray) and index (a Number) and returns a Number, a BigInt, or undefined. It performs the following steps when called:
10.4.5.18 TypedArraySetElement ( O, index, value )
The abstract operation TypedArraySetElement takes arguments O (a TypedArray), index (a Number), and value (an ECMAScript language value) and returns unused を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation IsArrayBufferViewOutOfBounds takes argument O (a TypedArray or a DataView) and returns a Boolean. TypedArray の数値プロパティまたは DataView オブジェクトのメソッドのいずれかが基礎データブロック境界外のインデックス値を参照し得るかを確認する。上位仕様向け利便性のために存在する抽象操作。 It performs the following steps when called:
The [[GetPrototypeOf]] internal method of モジュール名前空間エキゾチックオブジェクト takes no arguments and returns null を含む正常完了. It performs the following steps when called:
null を返す。
10.4.6.2[[SetPrototypeOf]] ( V )
The [[SetPrototypeOf]] internal method of モジュール名前空間エキゾチックオブジェクトO takes argument V (an Object or null) and returns Boolean を含む正常完了. It performs the following steps when called:
The [[IsExtensible]] internal method of モジュール名前空間エキゾチックオブジェクト takes no arguments and returns false を含む正常完了. It performs the following steps when called:
false を返す。
10.4.6.4[[PreventExtensions]] ( )
The [[PreventExtensions]] internal method of モジュール名前空間エキゾチックオブジェクト takes no arguments and returns true を含む正常完了. It performs the following steps when called:
true を返す。
10.4.6.5[[GetOwnProperty]] ( P )
The [[GetOwnProperty]] internal method of モジュール名前空間エキゾチックオブジェクトO takes argument P (a property key) and returns Property Descriptor か undefined を含む正常完了、または throw 完了. It performs the following steps when called:
The [[DefineOwnProperty]] internal method of モジュール名前空間エキゾチックオブジェクトO takes arguments P (a property key) and Desc (a Property Descriptor) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[HasProperty]] internal method of モジュール名前空間エキゾチックオブジェクトO takes argument P (a property key) and returns Boolean を含む正常完了. It performs the following steps when called:
The [[Get]] internal method of モジュール名前空間エキゾチックオブジェクトO takes arguments P (a property key) and Receiver (an ECMAScript language value) and returns ECMAScript 言語値を含む正常完了または throw 完了. It performs the following steps when called:
The [[Set]] internal method of モジュール名前空間エキゾチックオブジェクト takes arguments P (a property key), V (an ECMAScript language value), and Receiver (an ECMAScript language value) and returns false を含む正常完了. It performs the following steps when called:
false を返す。
10.4.6.10[[Delete]] ( P )
The [[Delete]] internal method of モジュール名前空間エキゾチックオブジェクトO takes argument P (a property key) and returns Boolean を含む正常完了. It performs the following steps when called:
The [[OwnPropertyKeys]] internal method of モジュール名前空間エキゾチックオブジェクトO takes no arguments and returns プロパティキーの List を含む正常完了. It performs the following steps when called:
The abstract operation ModuleNamespaceCreate takes arguments module (a Module Record) and exports (a List of Strings) and returns a module namespace exotic object. 新しいモジュール名前空間エキゾチックオブジェクトの生成を規定する。 It performs the following steps when called:
The [[SetPrototypeOf]] internal method of 不変プロトタイプエキゾチックオブジェクトO takes argument V (an Object or null) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation SetImmutablePrototype takes arguments O (an Object) and V (an Object or null) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[GetPrototypeOf]] internal method of Proxy エキゾチックオブジェクトO takes no arguments and returns Object か null を含む正常完了または throw 完了. It performs the following steps when called:
The [[SetPrototypeOf]] internal method of Proxy エキゾチックオブジェクトO takes argument V (an Object or null) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[IsExtensible]] internal method of Proxy エキゾチックオブジェクトO takes no arguments and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[PreventExtensions]] internal method of Proxy エキゾチックオブジェクトO takes no arguments and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[GetOwnProperty]] internal method of Proxy エキゾチックオブジェクトO takes argument P (a property key) and returns Property Descriptor か undefined を含む正常完了または throw 完了. It performs the following steps when called:
The [[DefineOwnProperty]] internal method of Proxy エキゾチックオブジェクトO takes arguments P (a property key) and Desc (a Property Descriptor) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[HasProperty]] internal method of Proxy エキゾチックオブジェクトO takes argument P (a property key) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[Get]] internal method of Proxy エキゾチックオブジェクトO takes arguments P (a property key) and Receiver (an ECMAScript language value) and returns ECMAScript 言語値を含む正常完了または throw 完了. It performs the following steps when called:
The [[Set]] internal method of Proxy エキゾチックオブジェクトO takes arguments P (a property key), V (an ECMAScript language value), and Receiver (an ECMAScript language value) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[Delete]] internal method of Proxy エキゾチックオブジェクトO takes argument P (a property key) and returns Boolean を含む正常完了または throw 完了. It performs the following steps when called:
The [[OwnPropertyKeys]] internal method of Proxy エキゾチックオブジェクトO takes no arguments and returns プロパティキーの List を含む正常完了または throw 完了. It performs the following steps when called:
結果の List はターゲットオブジェクトのすべての設定不可な自身プロパティのキーを含まなければならない。
ターゲットオブジェクトが拡張不可能である場合、結果の List はターゲットオブジェクトの自身プロパティすべてのキーのみを含まなければならない。
10.5.12[[Call]] ( thisArgument, argumentsList )
The [[Call]] internal method of Proxy エキゾチックオブジェクトO takes arguments thisArgument (an ECMAScript language value) and argumentsList (a List of ECMAScript language values) and returns ECMAScript 言語値を含む正常完了または throw 完了. It performs the following steps when called:
The [[Construct]] internal method of Proxy エキゾチックオブジェクトO takes arguments argumentsList (a List of ECMAScript language values) and newTarget (a constructor) and returns Object を含む正常完了または throw 完了. It performs the following steps when called:
The abstract operation ValidateNonRevokedProxy takes argument proxy (a Proxy exotic object) and returns unused を含む正常完了または throw 完了. proxy が無効化されている場合 TypeError 例外を投げる。 It performs the following steps when called:
proxy.[[ProxyTarget]] が null なら TypeError 例外を投げる。
アサート: proxy.[[ProxyHandler]] は null ではない。
unused を返す。
10.5.15 ProxyCreate ( target, handler )
The abstract operation ProxyCreate takes arguments target (an ECMAScript language value) and handler (an ECMAScript language value) and returns Proxy エキゾチックオブジェクトを含む正常完了または throw 完了. 新しい Proxy オブジェクトの生成を規定する。 It performs the following steps when called:
target が Object でないなら TypeError 例外を投げる。
handler が Object でないなら TypeError 例外を投げる。
P を MakeBasicObject(« [[ProxyHandler]], [[ProxyTarget]] ») とする。
P の本質的内部メソッド([[Call]] と [[Construct]] を除く)を 10.5 で規定される定義に設定する。