Почему не очищается input значение


let butt = document.querySelector('.pow');
butt.onclick = function() {

  let a = document.querySelector('.inp1').value;
  let b = document.querySelector('.inp2').value;

  function pow(x, n) {
    if (n == 0) {
      return 0;
    }
    if (n == 1) {
      return x;
    } else {
      return x * pow(x, n - 1);
    }
  }
  document.querySelector('.out').innerHTML = pow(a, b);
  document.querySelector('.inp1').value = '';
  b = '';

};

Почему в случае с a, значени инпут очищается, а в случае с b не очищается


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

Автор решения: Алексей Шиманский

Потому что в b просто значение, а не ссылка на объект. Если нужна ссылка на элемент, то value в присваивании был лишний

let b = document.querySelector('.inp2');

Теперь в b лежит объект типа Element. Теперь можно им манипулировать и очищать значения:

b.value = '';
→ Ссылка