@babel/plugin-transform-destructuring
Examples
In
let {x, y} = obj;
let [a, b, ...rest] = arr;
Out
function _toArray(arr) { ... }
let _obj = obj,
x = _obj.x,
y = _obj.y;
let _arr = arr,
_arr2 = _toArray(_arr),
a = _arr2[0],
b = _arr2[1],
rest = _arr2.slice(2);
Installation
npm install --save-dev @babel/plugin-transform-destructuring
Usage
Via .babelrc (Recommended)
.babelrc
{
"plugins": ["@babel/plugin-transform-destructuring"]
}
Via CLI
babel --plugins @babel/plugin-transform-destructuring script.js
Via Node API
require("@babel/core").transform("code", {
plugins: ["@babel/plugin-transform-destructuring"]
});
Options
loose
boolean
, defaults to false
.
Enabling this option will assume that what you want to destructure is an array and won't use Array.from
on other iterables.
useBuiltIns
boolean
, defaults to false
.
Enabling this option will use Object.assign
directly instead of the Babel's extends
helper.
Example
.babelrc
{
"plugins": [
["@babel/plugin-transform-destructuring", { "useBuiltIns": true }]
]
}
In
var { ...x } = z;
Out
var _z = z,
x = Object.assign({}, _z);
You can read more about configuring plugin options here