【勉🌱】【JavaScript】コンストラクタ関数とは?
コンストラクタ関数(p80,176)
・new式を使用して新規オブジェクト(インスタンス)を作成する関数
【JavaScript】 コンストラクターとは?関数とは違うのか?
・クラスの中のコンストラクタとは違う
・JavaScript におけるコンストラクタ関数とは、プロトタイプオブジェクト
を継承してオブジェクトインスタンスを生成するための独立した関数のこと
オブジェクト指向(p78)
・クラスベース
・プロトタイプベース
クラスベース
・クラスは実体を持たない抽象概念
・例)Java
プロトタイプベース
・プロトタイプは実体のあるオブジェクト
・そもそもオブジェクトの抽象としてのクラスが存在しない
・オブジェクトは直接、他のオブジェクトを継承する
・継承元になったオブジェクトのことを『プロトタイプ』と呼ぶ
・プロトタイプへ直にメソッドを追加したり削除したりできる上に、その変更がすでに生成済みのインスタンスにも即時反映される
・例)JavaScript
参照:りあクト!【1.言語・環境編】
オブジェクトをつくる「もと」なのか?
クラスだったり関数だったりするけど、実体があるものを、JavaScriptにはクラスがないから「コンストラクタ関数」と呼ぶのかも?
class XXX { … }
function XXX( ) { … }
→ new XXX
クラスからオブジェクトがつくれるのはいいんだけど、関数からオブジェクトが生まれてくるのが気持ち悪い・・・
抽象クラス、インターフェース
JavaScriptにはない!
TypeScriptには導入されている