Показать сообщение отдельно
  #3 (permalink)  
Старый 07.05.2018, 14:51
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Лучше для этого использовать ключевое слово super, но оно работает только внутри специального синтаксиса для класса

class ClassA {
	constructor(a, b) {
		this.a = a;
		this.b = b;
		this.c = 1;
		return this.a + this.b + this.c;
	}

	calc() {
		return this.a + this.b + this.c;
	}
}

let class1 = new ClassA(2, 2);

class ClassB extends ClassA {
	constructor(d, f) {
		super(...arguments);
		this.d = d;
		this.e = f;
		this.f = 10;
	}

	calc() {
		var jas = super.calc();
		return jas + this.d + this.e + this.f;
	}
}

let class2 = new ClassB(20, 20);

console.log(class1.calc());
console.log(class2.calc());
Ответить с цитированием