diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:43:05 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 22:18:30 +0800 |
| commit | 89e95b3f143682ed9a006991bacf45c9dcba4818 (patch) | |
| tree | 4f44cf41b828577d583890bdd5a1c31e8491a6ba /node_modules/@babel/plugin-transform-parameters/README.md | |
| parent | aa7f0199255277949790b41c56e8ec97dd4f0da4 (diff) | |
| download | xmake-docs-vuepress.tar.gz xmake-docs-vuepress.zip | |
remove node_modulesvuepress
Diffstat (limited to 'node_modules/@babel/plugin-transform-parameters/README.md')
| -rw-r--r-- | node_modules/@babel/plugin-transform-parameters/README.md | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/node_modules/@babel/plugin-transform-parameters/README.md b/node_modules/@babel/plugin-transform-parameters/README.md deleted file mode 100644 index 1c96bcee..00000000 --- a/node_modules/@babel/plugin-transform-parameters/README.md +++ /dev/null @@ -1,94 +0,0 @@ -# @babel/plugin-transform-parameters - -> Compile ES2015 default and rest parameters to ES5 - -This plugin transforms ES2015 parameters to ES5, this includes: - -- Destructuring parameters -- Default parameters -- Rest parameters - -## Examples - -**In** - -```javascript -function test(x = "hello", { a, b }, ...args) { - console.log(x, a, b, args); -} -``` - -**Out** - -```javascript -function test() { - var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "hello"; - var _ref = arguments[1]; - var a = _ref.a, - b = _ref.b; - - for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - args[_key - 2] = arguments[_key]; - } - - console.log(x, a, b, args); -} -``` - -## Installation - -```sh -npm install --save-dev @babel/plugin-transform-parameters -``` - -## Caveats - -Default parameters desugar into `let` declarations to retain proper semantics. If this is -not supported in your environment then you'll need the -[@babel/plugin-transform-block-scoping](http://babeljs.io/docs/plugins/transform-block-scoping) plugin. - -## Usage - -### Via `.babelrc` (Recommended) - -**.babelrc** - -```json -{ - "plugins": ["@babel/plugin-transform-parameters"] -} -``` - -### Via CLI - -```sh -babel --plugins @babel/plugin-transform-parameters script.js -``` - -### Via Node API - -```javascript -require("@babel/core").transform("code", { - plugins: ["@babel/plugin-transform-parameters"] -}); -``` - -## Options - -### `loose` - -`boolean`, defaults to `false`. - -In loose mode, parameters with default values will be counted into the arity of the function. This is not spec behavior where these parameters do not add to function arity. - -The `loose` implementation is a more performant solution as JavaScript engines will fully optimize a function that doesn't reference `arguments`. Please do your own benchmarking and determine if this option is the right fit for your application. - -```javascript -// Spec behavior -function bar1 (arg1 = 1) {} -bar1.length // 0 - -// Loose mode -function bar1 (arg1 = 1) {} -bar1.length // 1 -``` |
