Vai al contenuto principale

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

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

informazioni

Questo plugin è incluso in @babel/preset-env, in ES2020

Esempio

Input

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

Output

JavaScript
var _object$foo;

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

Non possiamo usare != null qui perché document.all == null e document.all non è considerato "nullish".

Installazione

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

Utilizzo

Con un file di configurazione (Consigliato)

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

Tramite CLI

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

Tramite Node API

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

Opzioni

loose

boolean, predefinito false.

Quando è true, questa trasformazione simulerà che document.all non esista ed eseguirà controlli di uguaglianza approssimativa con null invece di controlli di uguaglianza stretta sia per null che per undefined.

attenzione

Considera di migrare all'assunzione di primo livello noDocumentAll.

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

Esempio

Input

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

Output

JavaScript
var _object$foo;

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

Puoi leggere ulteriori informazioni sulla configurazione delle opzioni dei plugin qui

Riferimenti