サブクラスでスーパー(資格)を使用すると、スーパークラスで定義されているときにReferenceErrorがスローされるのはなぜですか?
class SchoolEmployee {
constructor(name, qualifications) {
this._name = name;
this._qualifications = qualifications;
this._holidaysLeft = 21;
}
get name() {
return this._name;
}
get qualifications() {
return this._qualifications;
}
get holidaysLeft() {
return this._holidaysLeft;
}
takeHolidays(days) {
this._holidaysLeft -= days;
}
}
class Teacher extends SchoolEmployee {
constructor(name, qualifications, subject) {
super(name);
super(qualifications); //THIS IS THE ERROR
this._subject = subject;
}
get name() {
return this._name;
}
get qualifications() {
return this._qualifications;
}
get subject() {
return this._subject;
}
}
let John = new Teacher('John', ['Maths', 'Physics'], 'Maths');
SchoolEmployeeは、私は '資格' であるものを定義しているスーパークラスです。私の知るところでは、スーパー(資格)を書くことは、以前定義されていたスーパークラスのコンストラクタを呼び出します。現在、私はJavascriptを学習しており、何が問題になったのか分かりません。誰か助けてくれますか?
正確なエラーメッセージとは何ですか? – Quentin
'ReferenceError:これは定義されていません 新しい教師(D:\ MAIN \ COding \ javascript \ classes.js:28:5) at Object。 (module.js:579:)で (D:¥MAIN¥COTING¥javascript¥classes.js:45:12) をModule._compile(module.js:570:32) にあります。 10) Module.load(module.jsにおいて:487:32) tryModuleLoad(module.jsにおいて:446:12)Function.Module._load(module.jsで :438:3)Module.runMainで (起動時(bootstrap_node.js:149:9)に を実行したとき(bootstrap_node.js:389:7) –
hu1k909