Array.of() メソッドは、引数の数や型にかかわらず、可変長引数から、新しい Array インスタンスを生成します。
Array.of() と Array コンストラクタの違いは整数引数の扱いにあります。Array.of(7) は単一の要素、7を持つ配列を作成しますが、 Array(7) は length プロパティが7の空の配列を作成します(注: これは実際の undefined の値を持つスロットではなく、7つの空のスロットの配列を意味します)。
Array.of(7); // [7] Array.of(1, 2, 3); // [1, 2, 3] Array(7); // array of 7 empty slots Array(1, 2, 3); // [1, 2, 3]
構文
Array.of(element0[, element1[, ...[, elementN]]])
引数
elementN- 生成する配列の要素。
返値
新しい Array インスタンス。
解説
この関数は、ECMAScript 標準の第 6 版の一部です。 詳しい情報は、Array.of と Array.from 提案、Array.of 互換コード をご覧ください。
例
Array.of(1); // [1] Array.of(1, 2, 3); // [1, 2, 3] Array.of(undefined); // [undefined]
ポリフィル
Array.of() がネイティブ実装されていない環境では、他のコードが Array.of() を生成する前に、次のコードを実行してください。
if (!Array.of) {
Array.of = function() {
return Array.prototype.slice.call(arguments);
// Or
let vals = [];
for(let prop in arguments){
vals.push(arguments[prop]);
}
return vals;
}
}
仕様書
| 仕様書 | 状態 | 備考 |
|---|---|---|
| ECMAScript Latest Draft (ECMA-262) Array.of の定義 |
ドラフト | |
| ECMAScript 2015 (6th Edition, ECMA-262) Array.of の定義 |
標準 | 初回定義 |
ブラウザーの互換性
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。
Update compatibility data on GitHub
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
of | Chrome 完全対応 45 | Edge 完全対応 12 | Firefox 完全対応 25 | IE 未対応 なし | Opera 完全対応 あり | Safari 完全対応 9 | WebView Android 完全対応 あり | Chrome Android 完全対応 39 | Firefox Android 完全対応 25 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 4.0 | nodejs 完全対応 4.0.0 |
凡例
- 完全対応
- 完全対応
- 未対応
- 未対応