質問編集履歴
2
タグ追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
1
一部、疑問が解決したので修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Myclass.prototypeのコンストラクタと
|
1
|
+
Myclass.prototypeのコンストラクタとObjectの違い
|
test
CHANGED
@@ -28,20 +28,12 @@
|
|
28
28
|
|
29
29
|
```
|
30
30
|
|
31
|
-
|
31
|
+
Myclass.prototypeを探してもインスタンス(obj)が読み込んだプロパティが見つからない場合、Myclass.prototypeを生成したコンストラクタのprototypeオブジェクト(```__proto__```)のプロパティを探します。
|
32
32
|
|
33
|
-
function Myclass
|
33
|
+
この「Myclass.prototypeを生成したコンストラクタ」というのは、function Myclassです。function Myclassが生成されることでMyclass.prototypeが自動で生成されると認識しておるので、
|
34
34
|
|
35
|
+
そう考えました。しかし、パーフェクトjavascript(142p)という書籍では、Myclass.prototypeオブジェクトのコンストラクタは、デフォルトだとObjectオブジェクトであると、書いてありました。つまり、Myclass.prototypeのコンストラクタは、MyclassではなくObjectということだと解釈しました。
|
35
36
|
|
37
|
+
ここで疑問ですが、
|
36
38
|
|
37
|
-
|
38
|
-
|
39
|
-
この「Myclass.prototypeを生成したコンストラクタ」というのもfunction Myclassで合っておりますか。function Myclassが生成されることでMyclass.prototypeが自動で生成されると認識しておるので、
|
40
|
-
|
41
|
-
そう考えました。が、パーフェクトjavascript(142p)という書籍では、Myclass.prototypeオブジェクトのコンストラクタは、Objectオブジェクトであると、書いてありました。
|
42
|
-
|
43
|
-
さっぱり理解が出来ません。リテラル表記のfunction MyclassのプロトタイプオブジェクトがFunction.prototypeというのは、分かりますが、Myclass.prototypeオブジェクトのコンストラクタが
|
44
|
-
|
45
|
-
Objectオブジェクトというのは、どういうことなのでしょうか。あらゆるオブジェクトは、Objectオブジェクトのメンバを継承しているといいますが、Myclass.prototypeオブジェクトも同様に
|
46
|
-
|
47
|
-
継承しているからコンストラクタということなのでしょうか。
|
39
|
+
「Myclass.prototypeを生成したコンストラクタ、つまりfunction Myclass」と、書籍に記述されていた「Myclass.prototypeオブジェクトのコンストラクタは、デフォルトだとObjectオブジェクト」には、どのような違いがあるのでしょうか。単語としてのObjectオブジェクトは、あらゆるオブジェクトが継承しているオブジェクトでFunctionクラスから生まれたもの、Myclassがユーザ定義関数で、Functionクラスが実体化(インスタンス化)したものあると認識しております。
|