JS проблема с созданием калькулятора и возможностью ввода нескольких цифр - PullRequest
0 голосов
/ 21 марта 2020

Я следовал видеоуроку по созданию калькулятора, я еще не закончил программу, но я должен быть в состоянии набрать несколько цифр на калькуляторе и затем нажимать кнопки (без каких-либо сложений, вычитаний, умножения или деления, пока) но вместо этого я получаю сообщения об ошибках, которые я не знаю, как исправить. Кто-нибудь может помочь?

Калькулятор ссылка

1 Ответ

4 голосов
/ 21 марта 2020

Дэн, вы всегда должны смотреть на ошибки и пытаться выяснить, что происходит. Ваша ошибка говорит: Uncaught TypeError: Cannot read property 'toString' of undefined Line: 22

Что означает: «Эй, то, что вы пытаетесь вызвать toString, на самом деле не является чем-то похожим на объект или значение, но это undefined.

Теперь вам нужно go в строку 22:

this.currentOperand = this.currentOperand.toString() + number.toString();

И попытаться выяснить, что не так - обычно вы используете для этого отладчик или просто консоль. log, как это:

appendNumber(number) {
  console.log('Current operand: ', this.currentOperand);
  console.log('Number: ', number);

  this.currentOperand = this.currentOperand.toString() + number.toString();
}

В вашем случае - this.currentOperand - это undefined, поскольку вы никогда не инициализируете его (оно присваивается в calculator.clear, но вы никогда не вызываете его).

Это исправление позволит вам продолжить:

const calculator = new Calculator(previousOperandTextElement, currentOperandTextElement);
calculator.clear()
...