babel/packages/babel-plugin-transform-typeof-symbol

@babel/plugin-transform-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-typeof-symbol

Usage

.babelrc

{
  "plugins": ["@babel/plugin-transform-typeof-symbol"]
}

Via CLI

babel --plugins @babel/plugin-transform-typeof-symbol script.js

Via Node API

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