* Improve get/set helper
* fixtures
* Edge cases
* Add loose edge cases
* Spec compliant
* Add issue case
* Even more edge cases!
* Final updates
* Fix name
* Use Reflect.{get, set} when available
* Avoid block scoping in loose
* Remove semicolon
* Do not redefine a non-enumerable
* Get strictness from call site, not helpers
* Add called assertions
* Classes are always strict
* Update test fixture
@babel/plugin-transform-exponentiation-operator
Compile exponentiation operator to ES5
Example
// x ** y
let squared = 2 ** 2;
// same as: 2 * 2
let cubed = 2 ** 3;
// same as: 2 * 2 * 2
// x **= y
let a = 2;
a **= 2;
// same as: a = a * a;
let b = 3;
b **= 3;
// same as: b = b * b * b;
Installation
npm install --save-dev @babel/plugin-transform-exponentiation-operator
Usage
Via .babelrc (Recommended)
.babelrc
{
"plugins": ["@babel/plugin-transform-exponentiation-operator"]
}
Via CLI
babel --plugins @babel/plugin-transform-exponentiation-operator script.js
Via Node API
require("@babel/core").transform("code", {
plugins: ["@babel/plugin-transform-exponentiation-operator"]
});