回答編集履歴
3
空の関数リテラルを修正
answer
CHANGED
@@ -7,6 +7,6 @@
|
|
7
7
|
|
8
8
|
----
|
9
9
|
|
10
|
-
「インスタンス」という単語には、「何かを元にして作ったもの」という意味を含みますが、JavaScriptでは意図的に`new`しなくても、ほとんどの場合(広義の)オブジェクトには`prototype`、つまり元にするオブジェクトが設定されます。`()
|
10
|
+
「インスタンス」という単語には、「何かを元にして作ったもの」という意味を含みますが、JavaScriptでは意図的に`new`しなくても、ほとんどの場合(広義の)オブジェクトには`prototype`、つまり元にするオブジェクトが設定されます。`function(){}`は`Function`のインスタンス、`[]`は`Array`のインスタンス、そして`{}`は`Object`のインスタンスです。
|
11
11
|
|
12
12
|
そこまで使う頻度が高いわけではありませんが、`Object.create(null)`などでプロトタイプを持たないオブジェクトも生成することは可能です。
|
2
プロトタイプベースに即して
answer
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
JavaScriptで「オブジェクト」という場合、**2通り**の意味があります。
|
2
2
|
|
3
|
-
* 配列・関数・オブジェクトリテラル・ラッパーオブジェクトなど、プリミティブでないすべての値(インスタンスと同じ意味)
|
3
|
+
* 配列・関数・オブジェクトリテラル・ラッパーオブジェクトなど、プリミティブでないすべての値(JavaScriptでは、インスタンスとほぼ同じ意味)
|
4
4
|
* その中でも、`{}`や`new Object`(まず実用しませんが)で作られる種類のオブジェクト
|
5
5
|
|
6
|
-
配列や関数、`new`で作るものはすべてインスタンスであり、広義のオブジェクトですが、`{}`などの狭義のオブジェクトとは別種なものです。
|
6
|
+
配列や関数、`new`で作るものはすべてインスタンスであり、広義のオブジェクトですが、`{}`などの狭義のオブジェクトとは別種なものです。
|
7
|
+
|
8
|
+
----
|
9
|
+
|
10
|
+
「インスタンス」という単語には、「何かを元にして作ったもの」という意味を含みますが、JavaScriptでは意図的に`new`しなくても、ほとんどの場合(広義の)オブジェクトには`prototype`、つまり元にするオブジェクトが設定されます。`() => ()`は`Function`のインスタンス、`[]`は`Array`のインスタンス、そして`{}`は`Object`のインスタンスです。
|
11
|
+
|
12
|
+
そこまで使う頻度が高いわけではありませんが、`Object.create(null)`などでプロトタイプを持たないオブジェクトも生成することは可能です。
|
1
途切れたので再編集
answer
CHANGED
File without changes
|