From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../reference/global_objects/array/of/index.html | 107 +++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 files/ja/web/javascript/reference/global_objects/array/of/index.html (limited to 'files/ja/web/javascript/reference/global_objects/array/of') diff --git a/files/ja/web/javascript/reference/global_objects/array/of/index.html b/files/ja/web/javascript/reference/global_objects/array/of/index.html new file mode 100644 index 0000000000..d6ce7c06df --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/array/of/index.html @@ -0,0 +1,107 @@ +--- +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 +--- +
{{JSRef}}
+ +

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.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]
+
+ + +

仕様

+ + + + + + + + + + + + +
仕様書
{{SpecName('ESDraft', '#sec-array.of', 'Array.of')}}
+ +

ブラウザー実装状況

+ +
+ + +

{{Compat("javascript.builtins.Array.of")}}

+
+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf