Allo stato attuale il codice è questo
codice HTML:
<input type="number" id="primoInt" class="display" value="0" />
<select id="operazione" name="operazione" class="tasto">
    <option selected disabled></option>
    <option value="somma">+</option>
    <option value="sottrai">-</option>
    <option value="moltiplica">*</option>
    <option value="dividi">/</option>
</select><br />
<input type="number" id="secondoInt" class="display" />
<button id="risolvi" class="tasto">=</button><br />
<input type="text" name="risultato" id="uguale" class="display" readonly/>
codice:
let primoInt;
document.getElementById("risolvi").addEventListener("click", calcola);

function calcola() {
    primoInt = document.getElementById(primoInt).value;

    if (operazione == "somma") {
        document.getElementById("uguale").value = primoInt;
    }
}
In questo caso, dichiarando la variabile globalmente, senza inizializzarla, l'errore è:
Uncaught TypeError: Cannot read properties of null (reading 'value') at HTMLButtonElement.calcola
mentre se faccio il let in calcola() ottengo l'errore di mancata inizializzazione, e notare che ho un value="0" nel tag, altro che null!

La cosa che trovo strana è che con input text funzionerebbe tutto ma rischierei l'immissione di caratteri non numerici.