@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
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/plugin-transform-numeric-separator
yarn add --dev @babel/plugin-transform-numeric-separator
pnpm add --save-dev @babel/plugin-transform-numeric-separator
bun add --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"]
}