Aller au contenu principal

@babel/plugin-transform-numeric-separator

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

info

Ce plugin est inclus dans @babel/preset-env, dans la spécification ES2021

Exemple

Littéraux décimaux

JavaScript
let budget = 1_000_000_000_000;

// What is the value of `budget`? It's 1 trillion!
//
// Let's confirm:
console.log(budget === 10 ** 12); // true

Littéraux binaires

JavaScript
let nibbles = 0b1010_0001_1000_0101;

// Is bit 7 on? It sure is!
// 0b1010_0001_1000_0101
// ^
//
// We can double check:
console.log(!!(nibbles & (1 << 7))); // true

Littéral hexadécimal

JavaScript
// Messages are sent as 24 bit values, but should be
// treated as 3 distinct bytes:
let message = 0xa0_b0_c0;

// What's the value of the upper most byte? It's A0, or 160.
// We can confirm that:
let a = (message >> 16) & 0xff;
console.log(a.toString(16), a); // a0, 160

// What's the value of the middle byte? It's B0, or 176.
// Let's just make sure...
let b = (message >> 8) & 0xff;
console.log(b.toString(16), b); // b0, 176

// What's the value of the lower most byte? It's C0, or 192.
// Again, let's prove that:
let c = message & 0xff;
console.log(c.toString(16), b); // c0, 192

Littéral octal

hand wave emoji

Les littéraux octaux sont idéaux pour les permissions et offrent une meilleure lisibilité sous la forme 0o0000. L'ajout de séparateurs n'apporte ici aucun bénéfice notable.

Installation

npm install --save-dev @babel/plugin-transform-numeric-separator

Utilisation

Avec un fichier de configuration (Recommandé)

babel.config.json
{
"plugins": ["@babel/plugin-transform-numeric-separator"]
}

Via CLI

Shell
babel --plugins @babel/plugin-transform-numeric-separator script.js

Via l'API Node

JavaScript
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-numeric-separator"],
});

Informations complémentaires

Si vous devez compiler les représentations numériques décimales, binaires, hexadécimales et octales d'ES2015 vers leur forme de littéral numérique pré-ES2015, ajoutez le plugin "@babel/plugin-transform-literals" :

info

@babel/plugin-transform-literals est déjà inclus dans @babel/preset-env.

Avec un fichier de configuration (Recommandé)

babel.config.json
{
"presets": ["@babel/preset-env"],
"plugins": ["@babel/plugin-transform-numeric-separator"]
}
{
"plugins": ["@babel/plugin-transform-numeric-separator", "@babel/plugin-transform-literals"]
}

Références