Помогите разобраться функцией конструктором на js
Помогите пожалуйста разобраться с методами объектов, т.к. уже 2 часа пытаюсь решить задачу, но к сожалению как-то безуспешно(
Нужно создать функцию конструктов который создает 'калькулятор' с помощью методов
- init(num) - установить значение
- add(num) - сложение
- sub(num) - вычитание
- div(num) - деление
- mul(num) - умножение
- alert - показывает текущий результат
Если не лень написать решение(чтобы я потом сам разобрался) или подсказать как-то, буду весьма признателен))
нужно чтобы работало с этим примером
const calc = new Calculator();
console.log(
calc
.init(2)
.add(2)
.mul(3)
.div(4)
.sub(2).result // 1
);
calc.alert();
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
Вам нужно сохранять промежуточный результат как поле класса и в методах возвращать сам экземпляр, чтобы можно было строить цепочку вызовов:
class Calculator {
constructor() {
this.result = 0;
}
init(num) {
this.result = num;
return this;
}
add(num) {
this.result += num;
return this;
}
sub(num) {
this.result -= num;
return this;
}
mul(num) {
this.result *= num;
return this;
}
div(num) {
this.result /= num;
return this;
}
alert() {
alert(this.result);
return this;
}
}
const calc = new Calculator();
console.log(
calc
.init(2)
.add(2)
.mul(3)
.div(4)
.sub(2).result // 1
);
calc.alert();