Array.of()

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);          // 7 つの空のスロットの配列
Array(1, 2, 3);    // [1, 2, 3]

構文

Array.of(element0[, element1[, ...[, elementN]]])

引数

elementN
生成する配列の要素。

返値

新しい Array インスタンス。

解説

この関数は、ECMAScript 標準の第 6 版の一部です。詳しい情報は、Array.ofArray.from 提案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;
  }
}

Array.of の使用

Array.of(1);         // [1]
Array.of(1, 2, 3);   // [1, 2, 3]
Array.of(undefined); // [undefined]

仕様

仕様書
ECMAScript (ECMA-262)
Array.of の定義

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
ofChrome 完全対応 45Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 26Safari 完全対応 9WebView Android 完全対応 39Chrome Android 完全対応 39Firefox Android 完全対応 25Opera Android 完全対応 26Safari iOS 完全対応 9Samsung Internet Android 完全対応 4.0nodejs 完全対応 4.0.0

凡例

完全対応  
完全対応
未対応  
未対応

関連情報