7.5 本章のまとめ

この章では、次のようなことを学習しました。

Pickup Lecture

  • コンストラクタ関数は、簡単に複数のオブジェクトを生成できる反面、使い方次第で大量のメモリを消費してしまう可能性がある。
  • プロトタイプは自身の「見本」となるオブジェクトを持つことで、より効率の良いメモリ管理ができる反面、記述が難解で管理が難しいという問題がある。
  • クラス構文の登場で、より安全な形のオブジェクト指向プログラミングができるようになった。
  • クラスの継承を用いることで、共通の機能を親クラス(基底クラス)にまとめ、子クラス(派生クラス)で独自の機能を追加したり、メソッドを上書き(オーバーライド)したりできる。
  • instanceof 演算子を使うと、あるオブジェクトが特定のクラス(または親クラス)から生成されたかを確認できる。

昨今の JavaScript はクラス構文で記述されることが当たり前になってきていますが、その中はプロトタイプベースで動いています。また、プロトタイプを用いた記述は難解ですが、既存のオブジェクトを動的に変更したり、新しいプロトタイプを作成したりすることで、柔軟にオブジェクトの機能を拡張できるため、応用範囲も広いです。大規模なアプリケーションで効果的なメモリ管理ができるなどの多くのメリットもあります。

このため、実務においては、クラス構文を基本とし、必要に応じてプロトタイプを活用します。