Javascriptは元々プロトタイプベースの言語で、作成したインスタンスからプロパティやメソッドを定義していました。
クラス構文が作られたことで少しだけクラスベースっぽく書けるようになりました。(糖衣構文なので、クラスベースの考え方が実際に取り入れられた訳ではありません)
クラスベースのオブジェクト指向言語では、コンストラクタや継承、カプセル化という機能が存在します。Javascriptでもクラス構文が実装されたことによって同じような構文が書けるようになります。
そのようなわざわざクラスを用いて開発するケース
あくまでクラスベースやプロトタイプベースというのは、問題に対して、どのように記述していけば解答を得ることが出来るか、その考え方の枠組みやスタイルを表すものでしかありません。
よって、下記のような思想がプロジェクトで共有されたときでしょう。
- クラス毎に役割を分けたい
- クラスベースの機能(コンストラクタや継承、カプセル化)が使いたい
- クラスベースの様な構文で書きたい
クラスベースとプロトタイプベースの違いを比較して、どちらの書き方が作りやすいかを決めると良いかもしれません。
後者のリンクをよく見てみるとメリットやデメリットが簡潔に書いてありますね。
クラス = 構造化されたデータ + それに所属するメソッド、という考え方はプログラムの整理に劇的な威力を発揮する。しかし、全てがクラスベースであるという前提は時に物事を複雑化してしまう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/07 02:31
2019/08/07 02:41
2019/08/07 02:49 編集
2019/08/07 02:59