JavaScript Tutorial

JavaScript BigInt

Javascript BigInt les variables sont utilisées pour stocker de grandes valeurs entières qui sont trop grandes pour être représentées par un JavaScript normal Number.

Précision des entiers JavaScript

Les entiers JavaScript ne sont précis que jusqu’à 15 chiffres :

En JavaScript, tous les nombres sont stockés dans un format à virgule flottante 64 bits (norme IEEE 754).

Avec cette norme, un grand entier ne peut pas être représenté exactement et sera arrondi.

Pour cette raison, JavaScript ne peut représenter en toute sécurité que des entiers :

Jusqu’à 9007199254740991 +(253-1)

et

Jusqu’à -9007199254740991 -(253-1).

Les valeurs entières en dehors de cette plage perdent en précision.


Comment créer un BigInt

Créer un BigIntajoutez n à la fin d’un entier ou appelez
BigInt():


BigInt : un nouveau type de données JavaScript

Le Javascript typeof un BigInt est « bigint »:

BigInt est le deuxième type de données numériques en JavaScript (après Number).

Avec BigInt le nombre total de types de données pris en charge en JavaScript est de 8 :

1. Chaîne
2. Numéro
3. Bigint
4. Booléen
5. Indéfini
6. Nul
7. Symbole
8. Objet


Opérateurs BigInt

Opérateurs pouvant être utilisés sur un JavaScript Number
peut également être utilisé sur un BigInt.

Exemple de multiplication BigInt

soit x = 9007199254740995n ;
soit y = 9007199254740995n ;
soit z = x * y ;

Essayez-le vous-même »

Remarques

Arithmétique entre un BigInt
et un Number n’est pas autorisé (la conversion de type perd des informations).

Un décalage à droite non signé (>>>) ne peut pas être effectué sur un BigInt
(elle n’a pas de largeur fixe).


Décimales BigInt

UN BigInt ne peut pas avoir de décimales.

Exemple de division BigInt

soit x = 5n ;
soit y = x / 2 ;
// Erreur : Impossible de mélanger BigInt et d’autres types, utilisez une conversion explicite.

soit x = 5n ;
soit y = Nombre(x) / 2 ;

Essayez-le vous-même »


BigInt Hex, octal et binaire

BigInt peut également être écrit en notation hexadécimale, octale ou binaire :

Exemple hexadécimal BigInt

soit hexadécimal = 0x20000000000003n ;
soit oct = 0o400000000000000003n
laisser bin = 0b100000000000000000000000000000000000000000000000011n ;

Essayez-le vous-même »


Curiosité de précision

L’arrondi peut compromettre la sécurité du programme :

MAX_SAFE_INTEGER Exemple

9007199254740992 === 9007199254740993; // est vrai !!!

Essayez-le vous-même »


Prise en charge du navigateur

BigInt est pris en charge dans tous les navigateurs depuis septembre 2020 :

Chrome 67 Bord 79 Firefox 68 Safari 14 Opéra 54
Mai 2018 janvier 2020 juil. 2019 septembre 2020 juin 2018


Nombres entiers sûrs minimum et maximum

ES6 a ajouté les propriétés max et min à l’objet Number :

  • MAX_SAFE_INTEGER
  • MIN_SAFE_INTEGER

Nouvelles méthodes numériques

ES6 a également ajouté 2 nouvelles méthodes à l’objet Number :

  • Number.isInteger()
  • Number.isSafeInteger()

La méthode Number.isInteger()

Le Number.isInteger() la méthode renvoie true si l’argument est un entier.


La méthode Number.isSafeInteger()

Un entier sûr est un entier qui peut être exactement représenté par un nombre à double précision.

Le Number.isSafeInteger() la méthode renvoie true si l’argument est un entier sûr.

Exemple isSafeInteger()

Number.isSafeInteger(10);
Number.isSafeInteger(12345678901234567890);

Essayez-le vous-même »

Les entiers sûrs sont tous les entiers de -(253 – 1) à +(253 – 1).
Ceci est sûr : 9007199254740991. Ceci n’est pas sûr : 9007199254740992.

#JavaScript #BigInt

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page