babel/packages/babel-plugin-transform-es2015-typeof-symbol
Justin Ridgewell 797fb3c2e4 Optimize and remove state from typeof-symbol transform (#5955)
Also fixes a bug with returning a Symbol from a Class constructor
(because the transform wasn’t run on helpers before).
2017-07-17 10:51:36 -04:00
..
2017-03-25 21:46:16 -04:00
2017-07-11 23:35:22 -04:00

babel-plugin-transform-es2015-typeof-symbol

ES6 introduces a new native type called symbols. This transformer wraps all typeof expressions with a method that replicates native behaviour. (ie. returning "symbol" for symbols)

Example

In

typeof Symbol() === "symbol";

Out

var _typeof = function (obj) {
  return obj && obj.constructor === Symbol ? "symbol" : typeof obj;
};

_typeof(Symbol()) === "symbol";

Installation

npm install --save-dev babel-plugin-transform-es2015-typeof-symbol

Usage

.babelrc

{
  "plugins": ["transform-es2015-typeof-symbol"]
}

Via CLI

babel --plugins transform-es2015-typeof-symbol script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-es2015-typeof-symbol"]
});