ES6の残りのパラメータの説明例

不言
リリース: 2018-11-14 15:38:30
転載
1955 人が閲覧しました

この記事の内容は、ES6 の残りのパラメータのコードの説明です。必要な方は参考にしていただければ幸いです。

概要

残りのパラメータは、対応する仮パラメータのないパラメータを配列に集約します

構文

function(a, b, ...theArgs) {
}
ログイン後にコピー

仮パラメータに対応しないパラメータのみを集約します

残りのパラメータは、対応する仮パラメータのないパラメータのみを配列に集約しますが、arguments にはすべてのパラメータが含まれます。

function add(a, b, ...theArgs) {
    return {rest: theArgs, arguments}
}
add() 
// {rest: [undefined, undefined, []], arguments: Arguments(0)}
add(1) 
// {rest: [1, undefined, []], arguments: Arguments(1)}
add(1, 2) 
// {rest: [1, 2, []], arguments: Arguments(2)}
add(1, 2, 3, 4, 5) 
// {rest: [1, 2, [3, 4, 5]], arguments: Arguments(5)}
ログイン後にコピー

残りのパラメータは配列です

疑似配列である arguments とは異なり、残りのパラメータは常に配列です

function add(...theArgs) {
    console.log(Array.isArray(theArgs))
    theArgs.forEach((a)=>console.log(a))
    console.log(Array.isArray(arguments))
    Array.prototype.slice.call(arguments, add.length).forEach((a)=>console.log(a)) // 转化成数组
}
add(1,2,3) // true 1 2 3 false 1, 2, 3, 4
ログイン後にコピー

残りのパラメータの分解パラメータ

function add(...[a, b, c]){
    return a + b +c
}
add(1, 2, 3) // 6
add(1, 2, 3) // 6
ログイン後にコピー

使用babel翻訳

function add(...num){
  return num.reduce((n1,n2)=>n1+n2)
}
ログイン後にコピー

翻訳後

function add() {
  for (var _len = arguments.length, num = Array(_len), _key = 0; _key < _len; _key++) {
    num[_key] = arguments[_key];
  }

  return num.reduce(function (n1, n2) {
    return n1 + n2;
  });
}
ログイン後にコピー

以上がES6の残りのパラメータの説明例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート