Как вызвать функцию класса внутри функции класса js?
При вызове функции nod внутри функции reduction, которые вызываются из класса происходит ошибка
Uncaught ReferenceError: nod is not defined, хотя, как видно, функция объявлена. На опечатки проверял, не нашел. В чем может быть причина?
let fraction = {
int: 0,
numerator: 0,
denominator: 1,
}
class FractionDo {
summ(fraction1, fraction2) {
this.numerator = (fraction1.numerator * fraction2.denominator) + (fraction2.numerator * fraction1.denominator);
this.denominator = (fraction1.denominator * fraction2.denominator);
return this;
}
reduction() { //Здесь проблема. Ошибка : Uncaught ReferenceError: nod is not defined
this.int = 0; //at FractionDo.nod (main.js:34:13)
while (this.numerator >= this.denominator) { //at FractionDo.reduction (main.js:70:18)
this.numerator = this.numerator - this.denominator; //at main.js:97:24
this.int++;
}
if (this.nod(this.numerator, this.denominator) > 1) {
this.numerator = this.numerator / this.nod(this.numerator, this.denominator);
this.denominator = this.denominator / this.nod(this.numerator, this.denominator);
}
return this;
}
nod(number1, number2) {
if (number1 < number2) {
let temp = number1;
number1 = number2;
number2 = temp;
}
if (number1 % number2 == 0) {
return number2;
}
else {
return nod(number2, number1 % number2);
}
}
}
let fractionDo = new FractionDo;
let number1 = fraction;
do {
number1.numerator = +prompt('Input numerator for first fraction');
number1.denominator = +prompt('Input denominator for first fraction');
} while ((typeof number1.numerator != 'number') && (typeof number1.denominator != 'number'));
let number2 = fraction;
do {
number2.numerator = +prompt('Input numerator for second fraction');
number2.denominator = +prompt('Input denominator for second fraction');
} while ((typeof number2.numerator != 'number') && (typeof number2.denominator != 'number'));
let answer = fractionDo.summ(number1,number2);
console.log(fractionDo.reduction(answer));