?
u
m
/
p
1-9
0
`
配列 (Array) は特定種類の
Array
Array(…)
は、同じ引数のオブジェクト生成式 new Array(…)
と等価である。extends
句の値として利用できる。エキゾチック Array の挙動を継承することを意図したサブクラスsuper
呼び出しを含めなければならない。ただし、Array.prototype
のメソッドの多くは この関数は呼び出し時に以下の手順を実行する:
Array
このメソッドは呼び出し時に以下を実行する:
この関数は呼び出し時に以下を実行する:
このメソッドは呼び出し時に以下を実行する:
Array.prototype
の値は
このプロパティは属性 { [[Writable]]:
Array[%Symbol.species%]
は set アクセサ関数が
この関数の
Array プロトタイプメソッドは通常、その
Array プロトタイプオブジェクト:
Array プロトタイプオブジェクトを
このメソッドは対象オブジェクトの配列要素に続いて各引数の配列要素を順に含む配列を返す。
呼び出し時に以下を実行する:
このメソッドの
ステップ
このメソッドは意図的に汎用であり、
The abstract operation IsConcatSpreadable takes argument O (ECMAScript 言語値) and returns Boolean を含む通常完了または throw 完了. It performs the following steps when called:
Array.prototype.constructor
の初期値は
end 引数は省略可。指定されない場合
target が負なら配列長を length として
このメソッドは呼び出し時に以下を実行する:
このメソッドは意図的に汎用であり、
このメソッドは呼び出し時以下を実行する:
callback は 3 引数を受け取り Boolean へ強制可能な値を返す関数であるべき。every
は昇順で各要素に対し callback を 1 回ずつ呼び、callback が
thisArg が指定されれば各呼び出しの
callback は (要素値, 要素インデックス, 走査対象オブジェクト) を受け取る。
every
自体は直接対象オブジェクトをミューテートしないが、callback の呼び出しにより変更され得る。
処理される要素の範囲は最初の callback 呼び出し前に固定される。every
開始後に追加された要素は訪問されない。既存要素が変更された場合、その時点の値が渡される;開始後に削除された要素は訪問されない。空配列に対しては
このメソッドは呼び出し時以下を実行する:
このメソッドは意図的に汎用であり、
start は省略可。省略時
end は省略可。省略時
start が負なら
このメソッドは呼び出し時以下を実行:
このメソッドは意図的に汎用。
callback は 3 引数を受け Boolean へ強制可能な値を返す関数であるべき。filter
は昇順で各要素に対し callback を呼び、
thisArg が提供されれば
callback は (値, インデックス, 走査対象) を受け取る。
filter
自体は直接オブジェクトを変更しないが callback により変更され得る。
処理範囲は開始前に固定。開始後に追加された要素は訪問されず、変更された既存要素は訪問時点の値、開始後に削除された要素は訪問されない。
このメソッドは呼び出し時以下を実行:
このメソッドは汎用。
このメソッドは昇順インデックスで各要素に対し predicate を呼び、
追加情報は
呼び出し時の手順:
汎用メソッド。
昇順で predicate を呼び、
追加情報は
呼び出し時手順:
汎用。
降順で predicate を呼び、
追加情報は
手順:
汎用。
降順で predicate を呼び、
追加情報は
手順:
汎用。
The abstract operation FindViaPredicate takes arguments O (オブジェクト), len (非負
O は配列ライクまたは
predicate は関数であるべき。呼び出し時 (要素値, インデックス, 対象オブジェクト) が渡され、戻り値は Boolean へ強制される。
thisArg は各呼び出しの
この操作自体は直接オブジェクトを変更しないが predicate により変更され得る。
処理範囲は走査開始直前に固定される。以降に追加された要素は訪問されない。既存要素が変更された場合はその訪問時の値が渡される。走査開始後に削除された要素は依然訪問され、存在しなければ
It performs the following steps when called:
このメソッドは呼び出し時以下を実行する:
The abstract operation FlattenIntoArray takes arguments target (オブジェクト), source (オブジェクト), sourceLen (非負
このメソッドは呼び出し時以下を実行する:
callback は 3 引数を受け取る関数であるべき。forEach
は昇順で存在する各要素に対し callback を 1 回呼ぶ。欠落要素には呼ばれない。
thisArg があれば
callback の引数は (値, インデックス, 対象オブジェクト)。
forEach
自体は直接オブジェクトを変更しないが callback により変更され得る。
処理範囲は開始前に決定。開始後に追加された要素は訪問されず、変更された要素は訪問時の値、開始後に削除されたものは訪問されない。
手順:
汎用。
このメソッドは
第 2 引数 fromIndex の既定値は
手順:
汎用。
このメソッドは indexOf
と異なり、
昇順で
第 2 引数 fromIndex の既定値は
手順:
汎用。
配列要素を String に変換し separator を挟んで連結した結果を返す。separator 未指定ならカンマ。
呼び出し時手順:
汎用。
このメソッドは呼び出し時以下を実行する:
降順で
第2引数 fromIndex の既定は長さ−1。長さ以上なら全検索。
手順:
汎用。
callback は 3 引数を受ける関数であるべき。map
は昇順に各要素に対し callback を呼び、その結果から新しい配列を作成。欠落要素には呼ばない。
thisArg があれば
callback の引数: (値, インデックス, 対象)。
map
自体は直接ミューテーションしないが callback による変更はあり得る。
処理範囲は開始前に固定。開始後追加要素は無視、変更要素は訪問時点の値、開始後削除された要素は訪問されない。
手順:
汎用。
最後の要素を削除して返す。
手順:
汎用。
引数を末尾に順に追加し新しい長さを返す。
手順:
このメソッドの
汎用。
callback は 4 引数を受け取るべき。reduce
は最初の(もしくは初期値を与えた場合その次の)要素以降に対して昇順で 1 回ずつ呼ぶ。
callback の引数: previousValue, currentValue, currentIndex, 走査対象オブジェクト。最初の呼び出し時の previousValue と currentValue は初期値有無で変化。空配列かつ初期値なしは
reduce
自体は直接ミューテートしない。
処理範囲は開始前固定。追加要素は無視。変更要素は訪問時の値。開始後削除された要素は訪問されない。
手順:
汎用。
説明は reduce の逆方向版。空配列で初期値なしは
手順:
汎用。
要素順序を反転し配列を返す。
手順:
汎用。
最初の要素を削除して返す。
手順:
汎用。
start から(end が
手順:
汎用。
callback は 3 引数を受け Boolean へ強制可能な値を返す関数であるべき。some
は
thisArg があれば
引数: (値, インデックス, 対象)。
オブジェクトは直接ミューテートしないが callback により変更され得る。
範囲は開始前に固定。追加要素は無視。変更要素は訪問時の値。削除要素は訪問されない。空配列では
手順:
汎用。
配列要素をソートする。comparator が
手順:
存在しないプロパティ値は常に
汎用。
The abstract operation SortIndexedProperties takes arguments obj (オブジェクト), len (非負
ソート順 は上記アルゴリズムのステップ
抽象クロージャまたは関数 comparator が集合 S の 一貫した比較器 であるとは、任意の a, b, c ∈ S について以下を満たすこと。記法
これら条件は comparator が S を同値類に分割し、それらが全順序付けされるために必要十分。
The abstract operation CompareArrayElements takes arguments x (ECMAScript 言語値), y (ECMAScript 言語値), and comparator (
start 位置から deleteCount 個を削除し、items を挿入する。削除要素の配列を返す。
手順:
ステップ
汎用。
ECMA-402 国際化 API を含む実装は ECMA-402 仕様に従って実装しなければならない。含まない場合は以下の仕様を用いる。
ECMA-402 第 1 版はこのメソッドの代替仕様を含まなかった。
オプション引数の意味は ECMA-402 に定義され、未サポート実装は他目的に利用してはならない。
手順:
各要素の toLocaleString
結果をロケール依存区切りで連結。toString
のロケール感知版。
汎用。
このメソッドは呼び出し時以下を実行する:
呼び出し時手順:
呼び出し時手順:
呼び出し時手順:
汎用。
引数を配列先頭に順序を保って挿入する。
手順:
このメソッドの
汎用。
呼び出し時手順:
呼び出し時手順:
このプロパティは { [[Writable]]:
Array インスタンスは
Array インスタンスは
Array インスタンスの
初期属性は { [[Writable]]:
Array Iterator は特定の Array インスタンス上の反復を表すオブジェクトである。名前付き
The abstract operation CreateArrayIterator takes arguments array (オブジェクト) and kind (
%ArrayIteratorPrototype% オブジェクト:
属性は { [[Writable]]:
Internal Slot | Type | Description |
---|---|---|
[[IteratedArrayLike]] |
an Object or |
反復対象となる配列ライクオブジェクト。 |
[[ArrayLikeNextIndex]] | a non-negative integer |
次に調べる要素の |
[[ArrayLikeIterationKind]] |
|
各反復で返す内容を識別する値。 |
TypedArray は基礎となるバイナリデータバッファ (
|
要素型 | 要素サイズ | 変換操作 | 説明 |
---|---|---|---|---|
Int8Array %Int8Array% |
|
1 |
|
8 ビット 2 の補数符号付き |
Uint8Array %Uint8Array% |
|
1 |
|
8 ビット符号なし |
Uint8ClampedArray %Uint8ClampedArray% |
|
1 |
|
8 ビット符号なし |
Int16Array %Int16Array% |
|
2 |
|
16 ビット 2 の補数符号付き |
Uint16Array %Uint16Array% |
|
2 |
|
16 ビット符号なし |
Int32Array %Int32Array% |
|
4 |
|
32 ビット 2 の補数符号付き |
Uint32Array %Uint32Array% |
|
4 |
|
32 ビット符号なし |
BigInt64Array %BigInt64Array% |
|
8 |
|
64 ビット 2 の補数符号付き |
BigUint64Array %BigUint64Array% |
|
8 |
|
64 ビット符号なし |
Float16Array %Float16Array% |
|
2 | 16 ビット IEEE 浮動小数点 | |
Float32Array %Float32Array% |
|
4 | 32 ビット IEEE 浮動小数点 | |
Float64Array %Float64Array% |
|
8 | 64 ビット IEEE 浮動小数点 |
以下の定義では TypedArray への参照は上表から適切な
%TypedArray% 組込みオブジェクト:
super
呼び出しを行わない。この関数は呼び出し時に次を行う:
この関数の
このメソッドは呼び出し時に以下を行う:
このメソッドは呼び出し時に以下を行う:
.prototype
の初期値は
このプロパティは { [[Writable]]:
[%Symbol.species%]
は set アクセサが
この関数の
%TypedArray% プロトタイプオブジェクト:
.prototype.buffer
は set アクセサが
.prototype.byteLength
は set アクセサが
.prototype.byteOffset
は set アクセサが
.prototype.constructor
の初期値は
引数の意味と使用法は Array.prototype.copyWithin
と同じ。
このメソッドは呼び出し時に次を行う:
このメソッドは呼び出し時に次を行う:
引数の意味と使用法は Array.prototype.every
と同じ。
このメソッドは呼び出し時:
このメソッドは汎用ではない。
引数の意味と使用法は Array.prototype.fill
と同じ。
呼び出し時:
引数の意味と使用法は Array.prototype.filter
と同じ。
呼び出し時:
このメソッドは汎用ではない。
引数の意味と使用法は Array.prototype.find
と同じ。
呼び出し時:
汎用ではない。
引数の意味と使用法は Array.prototype.findIndex
と同じ。
呼び出し時:
汎用ではない。
引数の意味と使用法は Array.prototype.findLast
と同じ。
呼び出し時:
汎用ではない。
引数の意味と使用法は Array.prototype.findLastIndex
と同じ。
呼び出し時:
汎用ではない。
引数の意味と使用法は Array.prototype.forEach
と同じ。
呼び出し時:
汎用ではない。
引数の意味と使用法は Array.prototype.includes
と同じ。
呼び出し時:
汎用ではない。
引数の意味と使用法は Array.prototype.indexOf
と同じ。
呼び出し時:
汎用ではない。
引数の意味と使用法は Array.prototype.join
と同じ。
呼び出し時:
汎用ではない。
このメソッドは呼び出し時:
引数の意味と使用法は Array.prototype.lastIndexOf
と同じ。
呼び出し時:
汎用ではない。
.prototype.length
は set アクセサが
この関数は汎用ではない。
引数の意味と使用法は Array.prototype.map
と同じ。
呼び出し時:
汎用ではない。
引数の意味と使用法は Array.prototype.reduce
と同じ。
呼び出し時:
汎用ではない。
引数の意味と使用法は Array.prototype.reduceRight
と同じ。
呼び出し時:
汎用ではない。
引数の意味と使用法は Array.prototype.reverse
と同じ。
呼び出し時:
汎用ではない。
このメソッドは source から値を読み取り複数の値をこの TypedArray に設定する。詳細は source の型に依存する。任意の offset は書き込み開始位置の要素インデックスを示し、省略時 0。
呼び出し時:
汎用ではない。
The abstract operation SetTypedArrayFromArrayLike takes arguments target (a
The abstract operation SetTypedArrayFromTypedArray takes arguments target (a
引数の意味と使用法は Array.prototype.slice
と同じ。
呼び出し時:
汎用ではない。
引数の意味と使用法は Array.prototype.some
と同じ。
呼び出し時:
汎用ではない。
これは独立したメソッドであり、以下に述べる点を除き Array.prototype.sort
と同じ要件を実装する。実装は
汎用ではない。
呼び出し時:
このメソッドは元の TypedArray と同じ要素型・同じ ArrayBuffer を参照し、start (含む) から end (含まない) までの要素を参照する新しい TypedArray を返す。start または end が負なら配列末尾からのインデックスを示す。
呼び出し時:
汎用ではない。
これは Array.prototype.toLocaleString
と同アルゴリズムを実装するが、
汎用ではない。アルゴリズム実行前に
実装が ECMA-402 国際化 API を含む場合、このメソッドは ECMA-402 における Array.prototype.toLocaleString
アルゴリズムに基づく。
呼び出し時:
呼び出し時:
呼び出し時:
呼び出し時:
.prototype[%Symbol.toStringTag%]
は set アクセサが
このプロパティは { [[Enumerable]]:
この関数の
The abstract operation TypedArrayCreateFromConstructor takes arguments constructor (a constructor) and argumentList (a
The abstract operation TypedArrayCreateSameType takes arguments exemplar (a
The abstract operation TypedArraySpeciesCreate takes arguments exemplar (a
The abstract operation ValidateTypedArray takes arguments O (an ECMAScript language value) and order (
The abstract operation TypedArrayElementSize takes argument O (a
The abstract operation TypedArrayElementType takes argument O (a
The abstract operation CompareTypedArrayElements takes arguments x (a Number or a BigInt), y (a Number or a BigInt), and comparator (a function object or
各 TypedArray
extends
句に利用できる。指定された TypedArray の挙動を継承するサブクラス.prototype
組込みメソッドを支える内部状態でインスタンスを初期化するため TypedArray super
呼び出しを含めねばならない。各 TypedArray
"%TypedArray.prototype%"
。The abstract operation AllocateTypedArray takes arguments constructorName (
The abstract operation InitializeTypedArrayFromTypedArray takes arguments O (a
The abstract operation InitializeTypedArrayFromArrayBuffer takes arguments O (a
The abstract operation InitializeTypedArrayFromList takes arguments O (a
The abstract operation InitializeTypedArrayFromArrayLike takes arguments O (a
The abstract operation AllocateTypedArrayBuffer takes arguments O (a
各 TypedArray
TypedArray.BYTES_PER_ELEMENT
の値は
属性は { [[Writable]]:
TypedArray.prototype
の初期値は対応する TypedArray プロトタイプ組込みオブジェクト (
属性は { [[Writable]]:
各 TypedArray プロトタイプオブジェクトは:
TypedArray.prototype.BYTES_PER_ELEMENT
の値は
属性は { [[Writable]]:
与えられた TypedArray
TypedArray インスタンスは