ES6基础之展开语法(语法)传播

  

展开语法用“…”进行表示,展开语法将可迭代的对象拆分成独立的值(语法层面展开)。扩展语法通常用于将可迭代的对象的值传递到函数的参数中。今天小编将从以下方面进行介绍:

  
      <李>函数传参中的应用李   <李>数组的相关应用李   <李>剩余参数的应用李   <李>函数传参中的应用李   
  

ES6之前,如果我们希望将数组作为参数分别传递给函数中的参数,我们可以使用函数的应用()方法。如下段代码所示:

        函数myFunction (a, b) {   返回一个+ b;   }   var data=https://www.yisu.com/zixun/[1,4];   var=myFunction结果。应用(零、数据);   console.log(结果);//输出“5”   之前      

从上述代码,应用方法接受一个数组,将它们分拆成单独参数传递函数进行调用。

  

ES6的展开语法能让我们以更简洁的方式进行调用,如下段代码所示:

        函数myFunction (a, b) {   返回一个+ b;   }   让数据=https://www.yisu.com/zixun/[1,4];   让结果=myFunction(…数据);   console.log(结果);//输出“5”   之前      

代码运行期间,JavaScript解释器调myFunction用之前,将会用1,4表达式替换……运算符:

        让结果=myFunction(…数据);   之前      

上述代码将会进行如下转换:

        让结果=myFunction (1、4);   之前      

替换后,函数中的代码将会继续执行。

  


  

  

<强>数组的合并
  

  

展开语法可将数组添加到另外一个数组中,成为其中的一部分。

        让array1=(2、3、4);   让array2=[1,……array1, 5、6、7);   console.log (array2);//输出“1、2、3、4、5、6、7”   之前      

代码运行期间,如下代码:

        让array2=[1,……array1, 5、6、7];      

上述代码将会替换成如下代码:

        让array2=[1, 2, 3, 4, 5, 6, 7];      

<强>在推动方法中的运用
  

  

有时候,我们需要将一个数组的内容追加到另一个数组中,ES6之前我们可以这么做,如下段代码所示:

        var array1=(2、3、4);   var array2=[1];   Array.prototype.push。应用(array2 array1);   console.log (array2);//输出“1、2、3、4”      

ES6的展开语法能以更简洁的形式实现,如下段代码所示:

        让array1=(2、3、4);   让array2=[1];   array2.push (…array1);   console.log (array2);//输出“1、2、3、4”      

代码运行期间,如下代码:

        array2.push (…array1);      

上述代码将会替换成如下代码:

        array2。推动(2、3、4);      

<强>传递多个数组参数
  

  

我们可以使用展开语法传递多个数组进行参数传递,如下段代码所示:

        让array1=[1];   让array2=[2];   让array3=[…array1,……array2,……[3,4]];//多arrayspread   让array4=[5];   函数myFunction (a, b, c, d, e) {   返回一个+ b + c + d + e;   }   让结果=myFunction (…array3…array4);//多阵列传播   console.log(结果);//输出“15”   之前      


  

  

我们知道JS函数内部有个参数对象,可以拿到全部实参。现在ES6给我们带来了一个新的对象,可以拿到除开始参数外的参数,即剩余参数,我们可以使用展开语法……进行获取。

  

ES6之前,我们可以这样获取剩余参数,如下段代码所示:

        函数myFunction (a, b) {   常量参数=Array.prototype.slice。调用(参数,myFunction.length);   console.log (args);   }   myFunction (1、2、3、4、5);//输出“3、4、5”   之前      

ES6中,上述代码我们可以这样改下,如下段代码所示:

        函数myFunction (a, b,…args) {   console.log (args);//输出“3、4、5”   }   myFunction (1、2、3、4、5);   之前      

是不是很简单,有个我们需要注意的事,一旦函数中的参数第一个参数使用剩余参数,就不能声明第二个非剩余参数,否则将会抛出错误。例如下段代码所示:

ES6基础之展开语法(语法)传播