Ваше свойство active
является свойством доступа , и вы присваиваете ему свой собственный установщик. Это снова вызывает установщик, который снова вызывает установщик и т. Д. c.
Если вы хотите, чтобы active
было свойством доступа, вам нужно сохранить значение в другом месте. В наши дни вы можете использовать личное поле в современных версиях Node.js:
class middleware {
#active = false;
constructor(){
}
set active(val) {
this.#active = val;
}
get active(){
return this.#active;
}
}
или просто другое свойство:
class middleware {
constructor(){
this._active = false;
}
set active(val) {
this._active = val;
}
get active(){
return this._active;
}
}
Или сделать active
свойством данных:
class middleware {
constructor(){
this.active = false;
}
}
Примечание: определения методов в class
телах не имеют ;
после них. (A ;
допускается там грамматикой языка, но ее там не должно быть.)