快捷搜索:  汽车  科技

函数参数解构(函数参数的解构赋值)

函数参数解构(函数参数的解构赋值)默认值map函数的参数又为一个数组,遍历的过程中a和b先后对应于1,2和3,4,因此结果返回3和7上述参数是利用数组解构赋值,x与y的值对应于1和2,因此结果返回3。再来看一个简单的例子map函数的参数

之前的文章《ES6新特性系列之数组解构赋值》和《ES6新特性系列之对象解构赋值》中,我们讲解了数组和对象的解构赋值功能,今天这篇文章继续讲解函数参数的解构赋值功能。

函数参数解构赋值
  • 基本使用

函数参数的解构赋值是基于数组或者对象的解构赋值的,如果对这两者还没有了解的,可以看看文章开头指定的那两篇文章。

函数参数解构(函数参数的解构赋值)(1)

基本使用

上述参数是利用数组解构赋值,x与y的值对应于1和2,因此结果返回3。

再来看一个简单的例子

函数参数解构(函数参数的解构赋值)(2)

map函数的参数

map函数的参数又为一个数组,遍历的过程中a和b先后对应于1,2和3,4,因此结果返回3和7

  • 默认值

函数的参数也会用到默认值,但是分为两种情况,一个是变量的默认值,另一个是参数的默认值。首先看下变量的默认值

变量的默认值

解构赋值等号左边出现的默认值表示的是变量的默认值,表示的是在传入的参数为undefined的情况下,变量可取默认值

而如果是参数默认值,则会出现不一样的情况

函数参数解构(函数参数的解构赋值)(3)

参数的默认值

参数的默认值表示的是,只有在传入的参数整体为undefined的情况下,才会取参数的默认值。

上述的代码中第二个move函数的参数{x:3} !== undefined,因此不会取默认值{x: 0 y: 0},所以传递的是{x:3},y的值为undefined,最后返回结果[3 undefined]

第三个move函数的参数为{},同理{} !== undefined,因此返回值为[undefined, undefined]

第四个move函数的参数为空,等于undefined,因此会取参数的默认值,最终返回[0 0]

这是变量默认值与参数默认值的不同之处,在写代码的时候要注意

  • 用途

函数参数的定义可以很方便的将变量名与参数一一对应起来

函数参数解构(函数参数的解构赋值)(4)

函数参数解构赋值

同时还可以很方便的指定函数参数的默认值

函数参数解构(函数参数的解构赋值)(5)

指定参数默认值

采用默认参数后,在方法体里就可以不用在写类似于这样的代码

var cache = config.cache || false;

总结

变量的解构赋值,主要包括数组、对象、函数参数三个部分,我们已经写了三篇文章进行讲解,希望能对大家有所帮助

  1. ES6新特性系列之数组解构赋值

  2. ES6新特性系列之对象解构赋值

猜您喜欢: