追記)2016-05-31 最近の私のJavaScript OO は以下の方式に統一しています。 1)抽象オブジェクトの定義(クラスベースOO言語でいうクラス) 「コンストラクタを Named NOOP Function とし、そのprototypeプロパティに属性や、実装を定義する」 2)具象オブジェクトの生成(クラスベースOO言語でいうインスタンス) 「ファクトリ関数内で new 演算子を用いて生成した新しいオブジェクトにプロパティを追加して返却」 3)継承はプロトタイプベースな単一継承を行って派生オブジェクトを作る。 4)多重継承は、条件付き多重継承とも言い換えられる Mixin を利用。 複数の親オブジェクトの特徴を受け継ぐ Mixin オブジェクトを動的生成して単一継承した派生オブジェクトを作る Q.コンストラクタ内に属性定義しないのか? A.しないです。多重継承を動的に行うため
![JavaScript : コンストラクタの書き方 : typeOf 'aki_mana'](https://cdn-ak-scissors.b.st-hatena.com/image/square/da78a05937633f7a2b4b2219826151c370cd607b/height=288;version=1;width=512/https%3A%2F%2Fparts.blog.livedoor.jp%2Fimg%2Fusr%2Fcmn%2Fogp_image%2Flivedoor.png)