oi Rodolfo!
Então, a tag input que é puxada pelo document.querySelector() retorna não apenas o valor input.value, bem com outros valores também.
Ao fazer input.value, você diz para o JavaScript apontar para o espaço de memória input.value, ou seja o valor do input dado. Sem isso, o JS não sabe exatamente pra qual espaço de memória dentro do input você está apontando. Para fazer o teste, implemente no seu código:
<meta charset="UTF-8">
<input/>
<button>Exibir texto digitado</button>
<script>
var input = document.querySelector("input");
// a variável recebeu o valor da Tag input através do document.querySelector. Por que não é possível exibi-la sem o .value?
function exibeTexto() {
console.log(input);
alert(input.value);
}
var button = document.querySelector("button");
button.onclick = exibeTexto;
</script>
E veja o retorno do input direto no console do seu navegador!
Abraços!