Valori e console.log
console.log(2 + 3) stampa 5, ma console.log("2 + 3") stampa 2 + 3: sono le virgolette a decidere se JavaScript calcola o copia.
Tutto ciò con cui lavora un programma è un valore
Un programma sposta dati: prezzi, nomi, punteggi, risposte a domande sì o no. Ogni singolo dato è un valore. Il numero 42 è un valore, il testo "Seoul" è un valore, e lo è anche la risposta true. Ogni valore ha un tipo, che dice a JavaScript che genere di cosa è e che cosa ci puoi fare. Puoi moltiplicare due numeri, ma moltiplicare due nomi non ha senso, quindi JavaScript deve sapere quale è quale.
I tipi di base
| Tipo | Esempi | Serve per |
|---|---|---|
| number | 42, 3.5, -7 | Contare, misurare, denaro |
| string | "cat", 'Hello', "42" | Testo di qualsiasi genere |
| boolean | true, false | Risposte sì o no |
| undefined | undefined | Un valore che non è ancora stato impostato |
| null | null | Vuoto di proposito |
JavaScript ha un solo tipo numerico, sia per i numeri interi sia per i decimali, quindi 7 e 7.5 sono entrambi numeri. Una stringa è una sequenza di caratteri scritta tra virgolette; vanno bene sia le virgolette singole sia le doppie, purché i due estremi siano uguali. Un booleano ha solo due valori possibili, true e false, scritti senza virgolette. Gli ultimi due, undefined e null, significano entrambi «qui non c'è niente», e li incontrerai di nuovo quando a una variabile non è stato dato un valore. Lo standard ECMAScript definisce anche BigInt e Symbol, che in questo corso non servono.
Le virgolette cambiano il tipo
Il valore 42 e il valore "42" sembrano uguali quando vengono stampati, ma sono di tipo diverso. Il primo è un numero con cui puoi fare calcoli. Il secondo è una stringa fatta dei caratteri 4 e 2. L'operatore typeof ti dice il tipo di qualsiasi valore, ed è un modo rapido per controllare che cosa hai in mano:
console.log(typeof 42); // number
console.log(typeof "42"); // string
console.log(typeof true); // boolean
console.log(typeof "true"); // stringLo stesso succede con i calcoli. Senza virgolette, JavaScript calcola prima l'espressione e stampa il risultato. Con le virgolette, i caratteri sono testo e vengono stampati esattamente come sono scritti:
console.log(2 + 3); // 5
console.log("2 + 3"); // 2 + 3Un pezzo di codice che produce un valore, come 2 + 3 o typeof 42, si chiama espressione. Ogni volta che JavaScript incontra un'espressione la valuta, cioè la riduce a un solo valore, e poi usa quel valore. In console.log(2 + 3) l'espressione viene valutata come 5 prima ancora che console.log la veda.
Stampare più valori insieme
console.log accetta più di un valore. Separali con virgole e vengono stampati su una riga, con uno spazio tra uno e l'altro:
console.log("Age:", 30); // Age: 30
console.log("Sum:", 4 + 5, "units"); // Sum: 9 unitsÈ il modo più semplice per etichettare l'output mentre lavori. Stampare valori con un'etichetta, come "Sum:" qui sopra, è il modo in cui i programmatori controllano che cosa fa un programma a ogni passo. Quando qualcosa si comporta in modo strano, la prima mossa abituale è aggiungere un console.log e guardare.
Esempi svolti
Esempio 1. console.log(10 - 4) stampa 6, perché l'espressione viene valutata prima. Esempio 2. console.log("10 - 4") stampa 10 - 4, perché è una stringa. Esempio 3. console.log(typeof "") stampa string: due virgolette senza niente in mezzo formano comunque una stringa, chiamata stringa vuota. Esempio 4. console.log(typeof 3.0) stampa number; non esiste un tipo separato per i decimali.
| valore | Un singolo dato: 42, "cat", true |
| tipo | Il genere di valore: number, string, boolean e così via |
| number | Numeri interi e decimali, un solo tipo per entrambi |
| string | Testo scritto tra virgolette |
| boolean | true o false, scritto senza virgolette |
| espressione | Codice che produce un valore, come 2 + 3 |
| typeof | Dà il tipo di un valore sotto forma di stringa |
| stringa vuota | Una stringa senza caratteri, scritta "" |
- Che cosa stampa?
console.log(6 * 7); - Che cosa stampa?
console.log("6 * 7");- 42
- 6 * 7
- "6 * 7"
- Che cosa stampa?
console.log(typeof 7.5); - Che cosa stampa?
console.log(typeof "7.5"); - Che cosa stampa?
console.log(typeof false); - Che cosa stampa?
console.log("Total:", 3 + 4);- Total: 7
- Total:7
- Total: 3 + 4
- Quale di questi è un valore booleano?
"true"true1
- Che cosa stampa?
console.log(typeof ""); - Che cosa stampa?
console.log(10 - 4, "10 - 4");- 6 6
- 6 10 - 4
- 10 - 4 10 - 4
- Quale di queste è una stringa valida?
"hello''hello'hello
- Ogni dato è un valore, e ogni valore ha un tipo.
- Tipi di base: number, string, boolean, undefined, null.
- Le virgolette creano una stringa; senza virgolette JavaScript valuta l'espressione.
- typeof ti dice il tipo.
- console.log(a, b) stampa entrambi i valori sulla stessa riga, separati da uno spazio.
Fonti di questo corso (2)
- MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
- Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17)
Consultato il: 2026-10-17