1.1 KiB

@babel/plugin-transform-instanceof

Wraps instanceof expressions to allow constructors to customize the logic with a Symbol.hasInstance method

Example

In

foo instanceof Bar;

Out

function _instanceof(left, right) {
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
    return right[Symbol.hasInstance](left);
  } else {
    return left instanceof right;
  }
}

_instanceof(foo, Bar);

Installation

npm install --save-dev @babel/plugin-transform-instanceof

Usage

.babelrc

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

Via CLI

babel --plugins @babel/plugin-transform-instanceof script.js

Via Node API

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

References