Калькулятор JS, результаты отображаются не так, как предполагалось?

#javascript

Вопрос:

Все еще изучаю JavaScript, и я, кажется, не могу понять, почему мой первый ввод удваивается после выполнения второго числа. Например, «1 » отлично отображается на экране результатов, но когда я нажимаю второй ввод на «2», надеясь, что получится 1 2, вместо этого он показывает мне 112 2. Попытался ввести его в сохраненный ввод после первого ввода, но все еще не могу понять этого. Вот мой код

https://codepen.io/Kaytin143/pen/bGRjQqx

 let firstInput = '';
let storedInput = '';
let secondInput = '';
let currentOp = '';
const results_div = document.querySelector('.screen')
const numberBtns = document.querySelectorAll('.numbers')
numberBtns.forEach((numbers) => {
  numbers.addEventListener('click', () => {
    firstInput  = numbers.value;
    storedInput  = firstInput;
    results_div.innerHTML = firstInput;
    numberBtns.forEach((numbers) => {
      numbers.addEventListener('click', () => {
        secondInput  = numbers.value;
        results_div.innerHTML = storedInput   currentOp   secondInput;
      })
    })
    //second Input
  })
})
// listeners for operators //
const operatorBtns = document.querySelectorAll('.operator');
const clearBtn = document.querySelector('.c');

operatorBtns.forEach((operators) => {
  operators.addEventListener('click', () => {
    currentOp  = operators.value;
    results_div.innerHTML = firstInput   currentOp;
  })
}) 

Комментарии:

1. Пожалуйста, предоставьте html также свой файл, чтобы мы могли воспроизвести ваш код…

2. вы инициализируете firstInput как a string , поэтому при выполнении операции «плюс» она будет объединять строку вместо добавления числа

3. Вы создаете несколько экземпляров своих слушателей и добавляете их несколько раз к каждой кнопке.

4. @Рикардо Добавил мою ссылку на код в описание

5. @kshetline просто хотел сказать спасибо за то, что указал на это! В этом было гораздо больше смысла, и я нашел способ обойти это.