ES6中默认参数是什么

  介绍

这篇文章给大家分享的是有关ES6中默认参数是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

语法

函数[名称]([param1 [=defaultValue1] [,……,paramN [=defaultValueN]]]) {   语句   }

使用

函数之和(a=0, b=0) {   返回一个+ b   }   sum ()//0   (1)//1   总和(1、2)//3

使用<代码>巴别塔翻译一下

函数sum () {   var=参数。长度比;0,,参数[0]!==定义?参数[0]:0;   var b=参数。长度比;1,,参数[1]!==定义?参数[1]:0;   返回一个+ b;   }

传值检测

从巴别塔翻译的结果可以看的出,默认参数只检查两种情况

<李>

不传参数

<李>

传入未定义的

函数之和(=0){   返回类   }   sum()//& # 39;数字# 39;   总和(定义)//& # 39;数字# 39;   和(1)//& # 39;数字# 39;   sum(& # 39; 1 & # 39;)//& # 39;字符串# 39;   总和(null)//& # 39;对象# 39;   总和(false)//& # 39;布尔# 39;

前参后用

前面的参数可以作为后面参数的默认值,甚至可以对前面的参数做一些特别的操作,比如简单的加减乘除

函数之和(a=1, b=a, c=a + b) {   返回(a, b, c)   }   sum ()//(1、2、3)   和(2)//(2、2、4)   总和(2,2)//(2、2、4)   总和(2 2 2)//[2 2 2]

默认参数调用函数

赋值默认参数甚至可以调用函数,可以调用函数,就已经说明无所不能了~

函数之和(a=1, b=(()=祝辞;4)()){   返回[a, b]   }   sum ()//[1,4]   和(2)//(2、4)   总和(2,2)//(2,2)

注意:无法调用函数内部声明的函数作为默认值

函数之和(a=1, b=num2 ()) {   函数num2 () {   返回4   }   返回[a, b]   }   sum()//未捕获ReferenceError: num2没有定义

按序覆盖

参数还是按调用的时候传输的顺序一一覆盖的,不会因为它有默认值就跳过该形参的赋值

函数之和(a=1, b) {   返回[a, b]   }   sum()//[1,未定义)   和(2)//(2,未定义)   总和(1、2)//[1,2]

解构赋值默认参数

结构中也可以使用默认参数,虽然结构还没在这系列出现过

函数之和([x, y]=[1, 2] {z: z}={z: 3}) {   返回(x, y, z);   }   sum ()//(1、2、3)   sum ((2、4), {z: 6})//(2、4、6)

感谢各位的阅读!关于ES6中默认参数是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

ES6中默认参数是什么