Я изучаю ванильный калькулятор JS. Я потратил несколько дней, пытаясь понять конструктор, использованный ниже;
class Calculator {
constructor(previousOperandTextElement, currentOperandTextElement) {
this.previousOperandTextElement = previousOperandTextElement
this.currentOperandTextElement = currentOperandTextElement
this.clear()
}
Мой вопрос касается функции clear (). Сама функция очистки имеет следующий код; как только новый калькулятор создан, он очищает дисплей калькулятора.
clear() {
this.currentOperand = ''
this.previousOperand = ''
this.operation = undefined
}
Меня смущает то, что мы не просто пишем ... this.currentOperandTextElement = ''; Я включил ниже переменной определения и HTML набор данных, в котором появляется currentOperand. Мне кажется, что этот код должен делать то же самое, но полностью его ломает!
JS Переменные
const previousOperandTextElement = document.querySelector('[data-previous-operand]')
const currentOperandTextElement = document.querySelector('[data-current-operand]')
JS Object Экземпляр
const calculator = new Calculator(previousOperandTextElement, currentOperandTextElement)const calculator = new Calculator(previousOperandTextElement, currentOperandTextElement)
HTML
<div class="calculator-grid">
<div class="output">
<div data-previous-operand class="previous-operand"></div>
<div data-current-operand class="current-operand"></div>
</div>
CSS
.output .previous-operand {
color: rgba(255, 255, 255, .75);
font-size: 1.5rem;
}
.output .current-operand {
color: white;
font-size: 2.5rem;
}