Как вызвать функцию класса внутри функции класса 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));

Ответы (0 шт):