menu
書いてる野郎
orebike@gmail.com
クラスとすれば継承ができると嬉しい。
以前は非常に色々な方法で JS の継承は実装されてきた経緯があるが、 やっと決定版で出たという感じである。
こうなる。
class Oya{ constructor(){ console.log("This is constructor."); } } class Ko extends Oya{ constructor(){ super(); } } class Mago extends Ko{ constructor(){ super(); } }
スコープが関係しているなら話は複雑になりそうだが、JavaScript のクラスは全部むき出しなので、 あまり頭を使わなくてヨイ、直感的に受け継ぐというだけ。
constructor に関しては親のコンストラクタを呼び出すことが必須。それは super() という形で呼び出せる。
同名メソッドを作れば親クラスのメソッドをオーバーライドできる。
オーバーライドされてしまった親のメソッドを使いたい場合は super
キーワード経由で呼び出せる。