teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

空の関数リテラルを修正

2018/11/05 14:21

投稿

maisumakun
maisumakun

スコア146672

answer CHANGED
@@ -7,6 +7,6 @@
7
7
 
8
8
  ----
9
9
 
10
- 「インスタンス」という単語には、「何かを元にして作ったもの」という意味を含みますが、JavaScriptでは意図的に`new`しなくても、ほとんどの場合(広義の)オブジェクトには`prototype`、つまり元にするオブジェクトが設定されます。`() => ()`は`Function`のインスタンス、`[]`は`Array`のインスタンス、そして`{}`は`Object`のインスタンスです。
10
+ 「インスタンス」という単語には、「何かを元にして作ったもの」という意味を含みますが、JavaScriptでは意図的に`new`しなくても、ほとんどの場合(広義の)オブジェクトには`prototype`、つまり元にするオブジェクトが設定されます。`function(){}`は`Function`のインスタンス、`[]`は`Array`のインスタンス、そして`{}`は`Object`のインスタンスです。
11
11
 
12
12
  そこまで使う頻度が高いわけではありませんが、`Object.create(null)`などでプロトタイプを持たないオブジェクトも生成することは可能です。

2

プロトタイプベースに即して

2018/11/05 14:21

投稿

maisumakun
maisumakun

スコア146672

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

途切れたので再編集

2018/11/05 14:20

投稿

maisumakun
maisumakun

スコア146672

answer CHANGED
File without changes