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