
426
付録
A
ES2015
以降の
JavaScript
の主要機能
static older (person1, person2) {
return (person1.age >= person2.age) ? person1 : person2;
}
}
こちらのコードのほうが読みやすく素直な記述になっています。まず、関数のコンストラクタは明示
的に
constructor
と指定されています。さらに、
older
は静
スタティック
的なメソッドとして宣言されています。
上の
2
つの実装は内部的には何も変わりません。しかし、この新しい構文の真の価値は、この
Person
クラスを継承して、サブクラスから親クラスにアクセスするために
extend
と
super
を使用す
る際に見られます。では、
Person
クラスを継承する
PersonWithMiddlename
を実装してみましょう。
class PersonWithMiddlename extends Person {
co
nstructor (name, middlename, surname, age) {
super(name, surname, age);
this.middlename = middlename;
}
getFullName () {
return this.name + '' + this.middlename + '' + this.surname;
}
}
どうでしょう。他のオブジェクト指向のプログラミング言語に非常に似た構文ではな ...