Variabili, array, DOM, eventi, funzioni, programmazione asincrona e async/await.
I quesiti sono pensati per testare sia la comprensione teorica che la capacità pratica, proprio come in una verifica scritta del corso TPSIT.
Qual è la differenza tra let, const e var in JavaScript?
Spiega brevemente in che ambito (scope) operano e fai un esempio in cui l’uso di var porta a un comportamento diverso rispetto a let.
Dato il seguente array:
let numeri = [3, 7, 1, 9, 4];Scrivi il codice per:
- Aggiungere il numero
6alla fine dell’array. - Sostituire il valore in posizione 2 con
10. - Stampare in console ogni numero moltiplicato per 2, usando un ciclo
for.
Scrivi una funzione chiamata calcolaAreaCerchio che accetta un parametro raggio e restituisce l’area del cerchio (usa Math.PI).
Poi invoca la funzione con raggio 5 e stampa il risultato.
Supponiamo di avere questo elemento HTML:
<h1 id="titolo">Titolo iniziale</h1>Scrivi il codice JavaScript per selezionare l’elemento con id="titolo" e cambiare il suo testo in "Benvenuti alla verifica!".
Hai un bottone con id="btn":
<button id="btn">Cliccami</button>Scrivi il codice JavaScript che, al clic del bottone, mostra un alert con il messaggio "Pulsante premuto!", usando addEventListener.
Spiega in breve cosa fa la parola chiave async quando è usata prima di una funzione.
Cosa succede se provi a usare await all’interno di una funzione che non è dichiarata async?
Cosa stampa in console il seguente codice? Spiega l’ordine.
console.log("A");
await new Promise(risolve => setTimeout(risolve, 1000));
console.log("B");Scrivi una funzione async chiamata caricaUtente che:
- Stampa "Caricamento utente..."
- Attende 3 secondi (simulando una chiamata al server)
- Stampa "Utente caricato!"
Esegui la funzione.
Dato il seguente HTML:
<button id="load">Carica profilo</button>
<p id="status"></p>Scrivi il codice JavaScript che:
- Al clic del bottone, imposta il testo di
#statusa "Caricamento..." - Dopo 2 secondi, imposta il testo a "Profilo caricato!"
- Usa una funzione
asynceawait.
Osserva il seguente codice:
const btn = document.getElementById("pulsante");
btn.addEventListener("click", function() {
console.log("Inizio");
await new Promise(r => setTimeout(r, 2000));
console.log("Fine");
});Il codice funziona? Se no, perché? Come lo correggeresti?