脚本宝典收集整理的这篇文章主要介绍了

函数参数的解构

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

clipboard.png

图片引用阮一峰es6教程

对图片中例子的理解:

function move( {x=0,y=0}={} ) {return[x,y];}

上面代码 {x=0,y=0}={}表示对象的解构赋值,并且解构赋值的默认值为x=0,y=0;

等号右边的空对象{}表示解构赋值中的值,等号左边的{x=0,y=0}表示解构赋值中的变量。但是由于值为空对象,相当于里面为undefined,所以如果只有{x=0,y=0}={}的话,赋值的结果是x=0,y=0的。

但是由于函数可以传参数,所以move( {x:3,y:8} ),就相当于在function里面这样的表示:

{x=0,y=0} = {x:3,y:8}

对象的解构赋值右边对象有值了,不再是空对象了,也就是说对象里面不再是undefined了,那么解构赋值中就不能使用默认值x=0,y=0了,所以赋值的结果是x=3,y=8.

move( {x:3,y:8} )中我们称{x:3,y:8}为参数,而称move的定义函数

function move( {x=0,y=0}={} ) {return[x,y];}

中等号右边的空对象为参数赋值的默认值,也就是说{}是move函数参数的默认值,如果move函数不传参,那么对象解构的时候是按照{x=0,y=0}={}来解构的。如果函数传参obj,则按照{x=0,y=0}=obj来解构。

补充一点,function move( {x=0,y=0}={} ) {return[x,y];}里面,
{x=0,y=0}={} ={}不能去掉,因为{x=0,y=0}是一个对象,如果使用move函数的时候不传参,即move(),那么就意味着{x=0,y=0} = undefined了,这样就会报错。也就是函数参数的默认值不能省略。

这篇文章的目的是为了区分 解构赋值默认值{x=0,y=0} 和 参数默认值的不同。

总结

以上是脚本宝典为你收集整理的

函数参数的解构

全部内容,希望文章能够帮你解决

函数参数的解构

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过