Saltar al contenido principal

@babel/plugin-transform-nullish-coalescing-operator

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 ES2020

Ejemplo

Entrada

JavaScript
var foo = object.foo ?? "default";

Salida

JavaScript
var _object$foo;

var foo =
(_object$foo = object.foo) !== null && _object$foo !== void 0
? _object$foo
: "default";
nota

No podemos usar != null aquí porque document.all == null y document.all se considera que no es "nullish".

Instalación

npm install --save-dev @babel/plugin-transform-nullish-coalescing-operator

Uso

Mediante un archivo de configuración (Recomendado)

babel.config.json
{
"plugins": ["@babel/plugin-transform-nullish-coalescing-operator"]
}

Mediante la CLI

Shell
babel --plugins @babel/plugin-transform-nullish-coalescing-operator script.js

Mediante la API de Node

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

Opciones

loose

boolean, valor predeterminado: false.

Cuando es true, esta transformación simulará que document.all no existe y realizará comprobaciones de igualdad débil con null en lugar de comprobaciones de igualdad estricta tanto con null como con undefined.

precaución

Considera migrar a la suposición de alto nivel noDocumentAll.

babel.config.json
{
"assumptions": {
"noDocumentAll": true
}
}

Ejemplo

Entrada

JavaScript
var foo = object.foo ?? "default";

Salida

JavaScript
var _object$foo;

var foo = (_object$foo = object.foo) != null ? _object$foo : "default";
consejo

Puedes leer más sobre cómo configurar opciones de plugins aquí

Referencias