You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mn a0e4803194
test
11 months ago
..
lib test 11 months ago
.npmignore test 11 months ago
README.md test 11 months ago
package.json test 11 months ago

README.md

babel-plugin-transform-es2015-arrow-functions

Compile ES2015 arrow functions to ES5

Example

In

var a = () => {};
var a = (b) => b;

const double = [1,2,3].map((num) => num * 2);
console.log(double); // [2,4,6]

var bob = {
  _name: "Bob",
  _friends: ["Sally", "Tom"],
  printFriends() {
    this._friends.forEach(f =>
      console.log(this._name + " knows " + f));
  }
};
console.log(bob.printFriends());

Out

var a = function a() {};
var a = function a(b) {
  return b;
};

var double = [1, 2, 3].map(function (num) {
  return num * 2;
});
console.log(double); // [2,4,6]

var bob = {
  _name: "Bob",
  _friends: ["Sally", "Tom"],
  printFriends: function printFriends() {
    var _this = this;

    this._friends.forEach(function (f) {
      return console.log(_this._name + " knows " + f);
    });
  }
};
console.log(bob.printFriends());

Try in REPL

Installation

npm install --save-dev babel-plugin-transform-es2015-arrow-functions

Usage

.babelrc

// without options
{
  "plugins": ["transform-es2015-arrow-functions"]
}

// with options
{
  "plugins": [
    ["transform-es2015-arrow-functions", { "spec": true }]
  ]
}

Via CLI

babel --plugins transform-es2015-arrow-functions script.js

Via Node API

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

Options

  • spec - This option wraps the generated function in .bind(this) and keeps uses of this inside the function as-is, instead of using a renamed this. It also adds a runtime check to ensure the functions are not instantiated.