20150802 - kyosen/javascript-ninja GitHub Wiki
第6章 プロトタイプによるオブジェクト指向
6.1 実体化とプロトタイプ
-
prototype以外からオブジェクトを複製することはできる?(辻)
- デザインパターンの Prototype とは違うもの(伊藤)
-
var o = {}; の o は prototype プロパティを持っている?(辻)
- もっていない
- 図6-3 オブジェクトは constructor プロパティを持っていて、コンストラクタ関数が prototype プロパティを持っている
- o は constructor プロパティを持っている。
- もっていない
-
「掩蔽」は何と読む(井谷)
- 「えんぺい」と読む。意味は「覆い隠すこと」
- 原文では「occulude」。誤訳ではなさそう。
-
constructor プロパティを使えば、prototype 以外でオブジェクトを複製できないだろうか?(辻)
- できない。constructor に入っているコンストラクタ関数でオブジェクトが生成される。
-
サブクラスが2つでスーパークラスが1つあるようなクラスベースの継承を表現する場合、どのようになるのか? リスト6-8 のように Ninja.prototype = new Person() をそれぞれのサブクラスのオブジェクトでやるのか?(乙村)
- var p = new Person() という形でオブジェクトを生成し、サブクラスのオブジェクトの prototype に代入した方が近いものになる。(辻)
-
p152 一行目 call に undefined の値を渡す可能性を排除するためと記載されているが、undefinedがわたるとダメなのか?(伊藤)
- null や undefined はグローバルオブジェクトに変換される