JavaScript オブジェクト 新しいページはコチラ
提供: yonewiki
(→宣言) |
(→宣言) |
||
36行: | 36行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Media:JavaScript Object declare.html|実行結果サンプル]] | [[Media:JavaScript Object declare.html|実行結果サンプル]] | ||
+ | |||
+ | |||
+ | 例えば、objName1.__proto__のようなプロパティがあります。このプロパティにはnewキーワードで生成されたオブジェクトのObject.prototypeプロパティ値と同じ値が保持されるものです。objName1自体を出力した場合でも[object Object]のように出力されるのは、prototypeの紐づけが__proto__に格納されているために起こります。サンプルでは、__proto__値は文字として出力はできるような構造ではないため、同じ値になっているかどうかを比較した結果を出力するようにしています。newで生成する際に初期値として文字列を設定したobjName2は自動的にStringオブジェクトと同じ構造が保持されていて、その構造がStringオブジェクトと同等にふるまいます。出力結果はそのことを確認できるものになっています。 | ||
+ | |||
+ | |||
+ | このようにObjectには空のObjectでも何かしらの構造を保持していることがわかりましたが、__proto__というイマイチよく理解できないような複雑なプロパティをもっていることもわかってしまいました。この__proto__やprototypeのようなプロパティの仕組みを詳細に解説しようとするとかなり長くなってしまいますが、この複雑さの理解を助けるような記事にするべく、引き続きオブジェクトについての記事を記述していきたいと思います。 | ||
== 記事作成用テンプレート == | == 記事作成用テンプレート == |