W3docs

Oggetto Math di JavaScript

Scopri l'oggetto Math di JavaScript: arrotondamento, potenze, radici, numeri casuali, trigonometria e costanti come Math.PI e Math.E, con esempi eseguibili.

Introduzione all'oggetto Math di JavaScript

Math è un oggetto JavaScript integrato che raggruppa costanti e funzioni matematiche. A differenza della maggior parte degli oggetti, non se ne crea mai un'istanza con newMath è statico, quindi si chiama tutto direttamente su di esso: Math.round(...), Math.PI, e così via. Tutti i suoi metodi operano sui numeri e completano gli operatori aritmetici standard (+, -, *, /, %, **).

Questa guida illustra cosa fa ogni metodo comune, le insidie che tendono a sorprendere (arrotondamento dei negativi, generazione di un numero casuale in un intervallo, cosa accade con input non validi) e dove queste funzioni compaiono nel codice reale, ad esempio nelle animazioni e nei calcoli finanziari.

Funzioni Math più comuni

FunzioneDescrizione
Math.abs(x)Restituisce il valore assoluto di x.
Math.ceil(x)Restituisce il più piccolo intero maggiore o uguale a x.
Math.floor(x)Restituisce il più grande intero minore o uguale a x.
Math.round(x)Arrotonda x all'intero più vicino.
Math.max(x, y, ...)Restituisce il valore più grande tra i numeri forniti come parametri.
Math.min(x, y, ...)Restituisce il valore più piccolo tra i numeri forniti come parametri.
Math.pow(x, y)Restituisce x elevato alla potenza di y.
Math.sqrt(x)Restituisce la radice quadrata di x.
Math.cbrt(x)Restituisce la radice cubica di x.
Math.random()Restituisce un numero pseudo-casuale compreso tra 0 e 1.
Math.log(x)Restituisce il logaritmo naturale (in base e) di x.
Math.log10(x)Restituisce il logaritmo in base 10 di x.
Math.exp(x)Restituisce e^x, dove x è l'argomento ed e è il numero di Eulero (circa 2,71828).
Math.sin(x)Restituisce il seno di x (x è in radianti).
Math.cos(x)Restituisce il coseno di x (x è in radianti).
Math.tan(x)Restituisce la tangente di x (x è in radianti).
Math.asin(x)Restituisce l'arcoseno di x in radianti.
Math.acos(x)Restituisce l'arcocoseno di x in radianti.
Math.atan(x)Restituisce l'arcotangente di x in radianti.
Math.atan2(y, x)Restituisce l'arcotangente del quoziente degli argomenti (y/x).

Concetti fondamentali: le funzioni Math principali di JavaScript

Math.round()

La funzione Math.round() arrotonda un numero all'intero più vicino. Se la parte frazionaria è 0,5 o superiore, arrotonda verso l'alto; altrimenti arrotonda verso il basso.

Esempio:

javascript— editable

Attenzione — numeri negativi e .5: Math.round() arrotonda sempre verso l'infinito positivo in caso di parità, non "lontano dallo zero." Ciò significa che Math.round(-2.5) è uguale a -2, non a -3. Se si desidera semplicemente eliminare la parte frazionaria, usare Math.trunc().

javascript— editable

Math.ceil()

La funzione Math.ceil() arrotonda un numero verso l'alto al successivo intero più grande, indipendentemente dalla parte frazionaria.

Esempio:

javascript— editable

Math.floor()

Al contrario, Math.floor() arrotonda un numero verso il basso all'intero più vicino, scartando la parte frazionaria.

Esempio:

javascript— editable

Math.sqrt()

La funzione Math.sqrt() restituisce la radice quadrata di un numero.

Esempio:

javascript— editable

Math.pow()

Math.pow() eleva un numero a una potenza specificata. In JavaScript moderno è possibile usare l'operatore di esponenziazione ** per ottenere lo stesso risultato — 4 ** 2 equivale a Math.pow(4, 2).

Esempio:

javascript— editable

Math.trunc() e Math.sign()

Math.trunc() rimuove la parte frazionaria di un numero, lasciando intatta la parte intera — non arrotonda mai. Ciò lo rende prevedibile sia per i numeri positivi che per quelli negativi, a differenza di Math.floor() (che arrotonda verso -Infinity).

Math.sign() indica il segno di un numero: 1 per i positivi, -1 per i negativi e 0 (o -0) per lo zero.

Esempio:

javascript— editable

Gestione dell'input non valido: NaN

I metodi di Math non generano eccezioni in presenza di input errati — restituiscono NaN ("Not a Number"). Ad esempio, la radice quadrata di un numero negativo o qualsiasi metodo che riceve un valore non numerico produce NaN. Usare Number.isNaN() per rilevarlo prima di fidarsi del risultato.

Esempio:

javascript— editable

Operazioni avanzate: trigonometria e oltre

Math.sin(), Math.cos(), Math.tan()

Queste funzioni sono indispensabili per i calcoli trigonometrici, corrispondenti a seno, coseno e tangente.

Esempio:

javascript— editable

Math.random()

Math.random() genera un numero pseudo-casuale compreso tra 0 (incluso) e 1 (escluso). È ampiamente utilizzato nello sviluppo di giochi e nelle simulazioni.

Esempio:

javascript— editable

L'esigenza più comune — un intero casuale in un intervallo. Da solo Math.random() raramente fa ciò che si vuole; di solito è necessario un numero intero compreso tra min e max. Si scala il valore 0–1 e poi si applica il floor. Questa formula restituisce un intero da min a max inclusi:

javascript— editable

Si noti che Math.random() non è crittograficamente sicuro. Per la generazione di valori casuali in contesti sensibili alla sicurezza (token, password), utilizzare crypto.getRandomValues().

Math.max() e Math.min()

Queste funzioni restituiscono rispettivamente il numero più grande e il più piccolo da un insieme di argomenti.

Esempio:

javascript— editable

Applicazioni pratiche: utilizzo delle funzioni Math

Le funzioni Math di JavaScript non sono semplici concetti teorici, ma hanno applicazioni pratiche in vari ambiti come le animazioni, i calcoli finanziari, le computazioni scientifiche e altro ancora.

Caso di studio: animazioni con la trigonometria

Si consideri un'animazione web in cui un oggetto si muove lungo un percorso circolare. Questo movimento può essere ottenuto utilizzando le funzioni Math.sin() e Math.cos().

// Circular motion parameters
let radius = 20;
let angle = 0;

function animateCircle() {
    let x = radius * Math.cos(angle);
    let y = radius * Math.sin(angle);
    angle += 0.01;
    // Update the object's position here
}

Strumento didattico interattivo: creare un quiz matematico

Usando le funzioni Math di JavaScript, è possibile sviluppare un quiz matematico interattivo che propone agli utenti problemi aritmetici casuali.

javascript— editable

Approfondimento: costanti Math e altro

Oltre alla vasta gamma di funzioni, l'oggetto Math di JavaScript fornisce anche diverse importanti costanti matematiche. Queste costanti non sono semplici valori fissi, ma costituiscono elementi fondamentali in vari calcoli complessi, soprattutto nell'informatica scientifica e matematica.

Math.PI

Math.PI rappresenta il rapporto tra la circonferenza di un cerchio e il suo diametro. È approssimativamente uguale a 3,14159. Questa costante è essenziale nei calcoli che riguardano cerchi e sfere, come il calcolo dell'area di un cerchio (Area = Math.PI * radius * radius) o della circonferenza (Circumference = 2 * Math.PI * radius).

Esempio:

javascript— editable

Math.E

Math.E, noto come numero di Eulero, è approssimativamente uguale a 2,718. È la base dei logaritmi naturali ed è ampiamente utilizzato nei calcoli di crescita, nell'interesse composto e nell'analisi dei numeri complessi. In JavaScript, Math.E viene spesso usato con la funzione Math.exp(), che eleva Math.E alla potenza di un numero dato.

Esempio:

javascript— editable

Math.LN2

Math.LN2 rappresenta il logaritmo naturale di 2, circa 0,693. Questa costante è particolarmente utile negli algoritmi che coinvolgono calcoli logaritmici, come il calcolo del tempo di raddoppio nei modelli di crescita della popolazione o in determinati calcoli finanziari.

Esempio:

javascript— editable

Altre costanti degne di nota

  • Math.LN10: Questa costante rappresenta il logaritmo naturale di 10, utile per scalare dati logaritmici.
  • Math.LOG2E: Il logaritmo del numero di Eulero in base 2. Viene usato per convertire i logaritmi dalla base E alla base 2.
  • Math.LOG10E: Il logaritmo del numero di Eulero in base 10, usato in contesti simili a Math.LOG2E ma per i logaritmi in base 10.
  • Math.SQRT1_2: Rappresenta la radice quadrata di 1/2 e viene spesso usato nei calcoli geometrici.
  • Math.SQRT2: La radice quadrata di 2, una costante che compare frequentemente in algebra, geometria e ingegneria.

Applicazioni pratiche delle costanti Math

Comprendere e utilizzare queste costanti può migliorare significativamente le funzionalità delle applicazioni JavaScript. Ad esempio, nello sviluppo di giochi Math.PI è indispensabile per calcolare traiettorie e rotazioni. Nel settore della tecnologia finanziaria, Math.E e le relative costanti logaritmiche sono fondamentali per calcolare l'interesse composto e i piani di ammortamento.

Conclusione

L'oggetto Math mette a disposizione arrotondamento, potenze, radici, numeri casuali, trigonometria e un insieme di costanti utili — senza dover importare nulla. Le cose principali da ricordare: Math è statico (no new), Math.round() arrotonda i casi di parità verso +Infinity, Math.trunc() è il modo prevedibile per eliminare la parte frazionaria, si scala Math.random() per ottenere un intero in un intervallo, e gli input non validi producono NaN anziché un errore.

Argomenti correlati

Esercitati

Pratica
Quali delle seguenti affermazioni su JavaScript Math sono corrette?
Quali delle seguenti affermazioni su JavaScript Math sono corrette?
Was this page helpful?