codecamp

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

NOTE: This plugin is included in @babel/preset-env, in ES2020

Example

In

JavaScript

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

Out

JavaScript

var _object$foo;

var foo =
(_object$foo = object.foo) !== null && _object$foo !== void 0
? _object$foo
: "default";
NOTE: We cannot use != null here because document.all == null and document.all has been deemed not "nullish".

Installation

  • npm
  • Yarn
  • pnpm
pnpm add --save-dev @babel/plugin-proposal-nullish-coalescing-operator

Usage

With a configuration file (Recommended)

babel.config.json

{
"plugins": ["@babel/plugin-proposal-nullish-coalescing-operator"]
}

Via CLI

Shell

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

Via Node API

JavaScript

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

Options

loose

boolean, defaults to false.

When true, this transform will pretend document.all does not exist, and perform loose equality checks with null instead of strict equality checks against both null and undefined.

⚠️ Consider migrating to the top level noDocumentAll assumption.

babel.config.json

{
"assumptions": {
"noDocumentAll": true
}
}

Example

In

JavaScript

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

Out

JavaScript

var _object$foo;

var foo = (_object$foo = object.foo) != null ? _object$foo : "default";
You can read more about configuring plugin options here

References


@babel/plugin-proposal-export-namespace-from
@babel/plugin-proposal-optional-chaining
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Babel 杂项

Babel 工具软件包

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }