3.1 Tipo Number
I numeri in JavaScript sono molto importanti quando si lavora con i dati e si eseguono calcoli. Il linguaggio offre molte possibilità per lavorare con i numeri, inclusi vari tipi di operazioni e metodi incorporati.
In JavaScript, esiste un tipo di dato per i numeri — Number. Questo tipo di dato rappresenta sia numeri interi che numeri con la virgola mobile. Inoltre, a partire dal 2020, è stato introdotto il tipo BigInt per lavorare con numeri interi molto grandi.
Esempi:
let integer = 42; // Numero intero
let float = 3.14; // Numero con la virgola mobile
let bigInt = 12345678901234567890n; // Numero intero grande
Operazioni con i numeri
Operazioni aritmetiche:
Operazione | Sintassi | Descrizione | Esempio | Risultato |
---|---|---|---|---|
Addizione | a + b | Somma due numeri | 5 + 3 | 8 |
Sottrazione | a - b | Sottrae un numero dall'altro | 10 - 4 | 6 |
Moltiplicazione | a * b | Moltiplica due numeri | 7 * 3 | 21 |
Divisione | a / b | Divide un numero per l'altro | 20 / 5 | 4 |
Resto | a % b | Ritorna il resto della divisione | 10 % 3 | 1 |
Potenza | a ** b | Eleva un numero all'esponente | 2 ** 3 | 8 |
Incremento e decremento
Operazione | Sintassi | Descrizione | Esempio | Risultato |
---|---|---|---|---|
Incremento | ++a | Aumenta il valore di uno (prefisso) | let a = 5; ++a; |
6 |
Incremento | a++ | Aumenta il valore di uno (postfisso) | let a = 5; a++; |
5 (e poi 6) |
Decremento | --b | Diminuisce il valore di uno (prefisso) | let b = 5; --b; |
4 |
Decremento | b-- | Diminuisce il valore di uno (postfisso) | let b = 5; b--; |
5 (e poi 4) |
Operazioni combinate
Operazione | Sintassi | Descrizione | Esempio | Risultato |
---|---|---|---|---|
Addizione con assegnazione | a += b | Somma e assegna il risultato | let x = 10; x += 5; |
15 |
Sottrazione con assegnazione | a -= b | Sottrae e assegna il risultato | let x = 10; x -= 3; |
7 |
Moltiplicazione con assegnazione | a *= b | Moltiplica e assegna il risultato | let x = 10; x *= 2; |
20 |
Divisione con assegnazione | a /= b | Divide e assegna il risultato | let x = 10; x /= 2; |
5 |
Resto con assegnazione | a %= b | Trova il resto e assegna il risultato | let x = 10; x %= 3; |
1 |
3.2 Metodi incorporati
In JavaScript, c'è un oggetto incorporato Math
per eseguire varie operazioni matematiche.
1. Math.round():
Arrotonda un numero al numero intero più vicino.
let rounded = Math.round(4.6); // 5
2. Math.ceil():
Arrotonda un numero verso l'alto al numero intero più vicino.
let ceil = Math.ceil(4.2); // 5
3. Math.floor():
Arrotonda un numero verso il basso al numero intero più vicino.
let floor = Math.floor(4.8); // 4
4.Math.random():
Ritorna un numero casuale nell'intervallo da 0 a 1.
let random = Math.random();
5. Math.max() e Math.min():
Ritornano il valore massimo e minimo da un insieme di numeri.
let max = Math.max(1, 2, 3, 4); // 4
let min = Math.min(1, 2, 3, 4); // 1
6. Math.sqrt():
Ritorna la radice quadrata di un numero.
let sqrt = Math.sqrt(16); // 4
7. Math.pow():
Ritorna un numero elevato a una data potenza.
let pow = Math.pow(2, 3); // 8
3.3 Parsing stringhe in numeri
Funzione parseInt():
Converte una stringa in un numero intero.
let int = parseInt('123'); // 123
Funzione parseFloat():
Converte una stringa in un numero con la virgola mobile.
let float = parseFloat('3.14'); // 3.14
Funzione Number():
Converte un valore in un numero.
let num = Number('42'); // 42
Verifica dei valori
Funzione isNaN():
Verifica se un valore è NaN (Not-a-Number).
let isNotNumber = isNaN('hello'); // true
Funzione isFinite():
Verifica se un valore è un numero finito (se è infinito o no).
let finite = isFinite(10); // true
let notFinite = isFinite(Infinity); // false
3.4 Caratteristiche dei numeri in JavaScript
1. Limiti numerici
In JavaScript, i numeri sono rappresentati in formato floating-point a doppia precisione, il che comporta alcune limitazioni:
- Valore massimo: Number.MAX_VALUE
- Valore minimo: Number.MIN_VALUE
- Infinito positivo: Infinity
- Infinito negativo: -Infinity
- Non numero (NaN): un valore che non è un numero
2. Precisione dei numeri
Lavorare con numeri con la virgola mobile può portare a problemi di precisione:
let sum = 0.1 + 0.2;
console.log(sum); // 0.30000000000000004
Questo succede in tutti i linguaggi di programmazione – JavaScript non fa eccezione.
3. Numeri interi sicuri
In JavaScript, esiste il concetto di numeri interi "sicuri", che possono essere rappresentati esattamente come numeri con la virgola mobile:
- Massimo intero sicuro:
Number.MAX_SAFE_INTEGER (253 - 1)
- Minimo intero sicuro:
Number.MIN_SAFE_INTEGER (-(253 - 1))
GO TO FULL VERSION