Comprendere il Tipo BigInt in JavaScript

by Anastasia P.
SHARE
Comprendere il Tipo BigInt in JavaScript
© Guida-HTML5.it

Introduzione

In JavaScript, i numeri sono rappresentati principalmente come valori di tipo Number, che possono gestire numeri interi e decimali. Tuttavia, quando si tratta di numeri interi molto grandi, il tipo Number può non essere sufficiente. Qui entra in gioco il tipo BigInt, introdotto in ECMAScript 2020, che consente di rappresentare numeri interi di dimensioni arbitrarie. Questo tutorial esplorerà il tipo BigInt, come utilizzarlo e le sue caratteristiche principali.

Codice completo


// Creazione di un numero BigInt
const bigInt1 = BigInt(123456789012345678901234567890);
const bigInt2 = 123456789012345678901234567890n; // Notazione con ´n´

// Operazioni con BigInt
const sum = bigInt1 + bigInt2;
const difference = bigInt1 - bigInt2;
const product = bigInt1 * bigInt2;
const quotient = bigInt1 / BigInt(2); // Divisione per un BigInt

// Stampa dei risultati
console.log("Somma:", sum); // Somma: 246913578024691357802469135780n
console.log("Differenza:", difference); // Differenza: 0n
console.log("Prodotto:", product); // Prodotto: 152415787501905199875019052100n
console.log("Quoziente:", quotient); // Quoziente: 61728394506172839450587283945n

// Confronto tra BigInt e Number
const num = 12345678901234567890;
console.log("BigInt è maggiore di Number?", bigInt1 > num); // true
console.log("BigInt è uguale a Number?", bigInt1 === BigInt(num)); // true

Spiegazione

Il tipo BigInt è utile quando si lavora con numeri che superano il limite massimo del tipo Number, che è 2^53 - 1 (circa 9.007.199.254.740.991). Con BigInt, puoi rappresentare numeri molto più grandi senza perdere precisione.

Per creare un BigInt, puoi utilizzare la funzione BigInt() oppure aggiungere una lettera n alla fine di un numero intero. Ad esempio:

const bigInt1 = BigInt(123456789012345678901234567890);
const bigInt2 = 123456789012345678901234567890n;

Le operazioni aritmetiche con BigInt funzionano in modo simile a quelle con Number, ma è importante notare che non puoi mescolare direttamente BigInt e Number in operazioni. Se provi a farlo, otterrai un errore:

const result = bigInt1 + num; // Questo genererà un errore!

Per eseguire operazioni tra un BigInt e un Number, devi convertire uno dei due valori nel tipo dell´altro.

Best practice

  • Usa BigInt solo quando necessario: Se non hai bisogno di gestire numeri interi molto grandi, continua a usare il tipo Number per mantenere il codice semplice e leggibile.
  • Evita di mescolare BigInt e Number: Quando lavori con BigInt, assicurati di non mescolarlo con Number per evitare errori. Converti esplicitamente i valori quando necessario.
  • Considera le performance: Le operazioni con BigInt possono essere più lente rispetto a quelle con Number, quindi usalo solo quando è necessario.
  • Documenta il tuo codice: Se utilizzi BigInt nel tuo progetto, assicurati di documentare il motivo e il contesto per cui è stato scelto, in modo che altri sviluppatori possano comprendere le tue scelte.

Riepilogo

Il tipo BigInt in JavaScript è una potente aggiunta che consente di gestire numeri interi di dimensioni arbitrarie. È fondamentale per applicazioni che richiedono precisione con numeri molto grandi, come nel caso di criptovalute o calcoli scientifici. Ricorda di usarlo con cautela e di seguire le best practice per garantire un codice chiaro e performante.

Approfondisci con risorse ufficiali

SHARE