介绍
这篇文章给大家分享的是有关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中默认参数是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!