Saltar al contenido principal

@babel/plugin-transform-numeric-separator

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

información

Este plugin está incluido en @babel/preset-env, dentro de ES2021

Ejemplo

Literales Decimales

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

Literales Binarios

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

Literal Hexadecimal

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

Literal Octal

gesto de mano con emoji

Los octales son excelentes para permisos, pero también se ven mejor representados en formato 0o0000. No hay un beneficio real con separadores aquí.

Instalación

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

Uso

Mediante un archivo de configuración (Recomendado)

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

Mediante la CLI

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

Mediante la API de Node

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

Información Adicional

Si necesitas compilar aún más las representaciones numéricas Decimal, Binario, Hexadecimal y Octal de ES2015 a su forma de literal numérico pre-ES2015, añade el plugin "@babel/plugin-transform-literals":

información

@babel/plugin-transform-literals ya está incluido en @babel/preset-env.

Mediante un archivo de configuración (Recomendado)

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

Referencias