--- title: Array.of() slug: Web/JavaScript/Reference/Global_Objects/Array/of tags: - Array - ECMAScript 2015 - JavaScript - Method - polyfill translation_of: Web/JavaScript/Reference/Global_Objects/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新しい {{jsxref("Array")}} インスタンス。
この関数は、ECMAScript 標準の第 6 版の一部です。詳しい情報は、Array.of と Array.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(1); // [1] Array.of(1, 2, 3); // [1, 2, 3] Array.of(undefined); // [undefined]
| 仕様書 |
|---|
| {{SpecName('ESDraft', '#sec-array.of', 'Array.of')}} |
{{Compat("javascript.builtins.Array.of")}}