Babel
  • Docs
  • Setup
  • Try it out
  • Videos
  • Blog
  • Donate
  • Team
  • GitHub
Edit

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

Example

In

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

Out

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 install --save-dev @babel/plugin-proposal-nullish-coalescing-operator

Usage

With a configuration file (Recommended)

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

Via CLI

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

Via Node API

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.

Example

In

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

Out

var _object$foo;

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

You can read more about configuring plugin options here

References

  • Proposal: Nullish Coalescing
  • Example
  • Installation
  • Usage
    • With a configuration file (Recommended)
    • Via CLI
    • Via Node API
  • Options
    • loose
  • References
Babel
Docs
Learn ES2015
Community
VideosUser ShowcaseStack OverflowSlack ChannelTwitter
More
BlogGitHub OrgGitHub RepoWebsite RepoOld 6.x SiteOld 5.x Site