Эта ошибка означает, что эта строка:
const display = document.querySelector('.calculator-screen');
возвращает ноль. Поэтому, когда вы делаете это:
display.value = calculator.displayValue;
Вы действительно говорите:
null = calculator.displayValue;
Попробуйте записать значение и убедитесь сами:
function updateDisplay() {
const display = document.querySelector('.calculator-screen');
console.log('display: ', display); // this is probably 'null'
display.value = calculator.displayValue;
}
I ' Я предполагаю, что у вас нет селектора с классом .calculator-screen
. Дважды проверьте правильность написания или напишите соответствующий HTML, чтобы я мог подтвердить.
Вот ваш код, кажется, работает нормально, я не получаю сообщение об ошибке, поэтому я не уверен, что происходит ваш конец:
const calculator = {
displayValue: '0',
firstOperand: null,
waitingForSecondOperand: false,
operator: null,
};
function updateDisplay() {
const display = document.querySelector('.calculator-screen');
display.value = calculator.displayValue;
}
updateDisplay();
<div class="calculator">
<input type="text" class="calculator-screen" value = "0" disabled />
<div class="calculator-keys">
<button type="button" class="operator" value="+">+</button>
<button type="button" class="operator" value="-">-</button>
<button type="button" class="operator" value="*">×</button>
<button type="button" class="operator" value="/">÷</button>
</div>
</div>