?es6新增结构赋值,结构赋值分为两种 数组解构赋值,对象解构赋值。
数组解构赋值:
分别按顺序给数组中的每一项赋值。
如上所示如果c未给赋值,c为undefind。
a==1,b==2 那么3并没有被保存到变量中,这时如果想要将剩余值进行保存,可以只用“...”
...c 这样的形式,可以将剩余值以数组的形式将其保存到变量c中。
另外...可用于复制数组
实际项目中有时候我们需要将函数中的实际参数放到一个数组中,
es5:Array.prototype.slice.call(arguments);
es6:[...arguments] ;
对象解构赋值:
分别按键值给对象中的每一项赋值。
c 没有被赋值所以c为undefind。
如上图,c和d没有 变量接收,同样可以用“...” 将剩余变量接收为一个对象。
“...”也可用来赋值一个对象。
实战中经常性需要将请求的回调函数中的对象中的值作为一个函数的参数。
上图中,先复制该对象然后将复制好的对象解构赋值,这样就实现了既不改变原有对象,又可以将对象中的每一项作为实际参数在其他函数中使用。
以上内容为作者本人对结构赋值的理解,如有错误欢迎指出,我们共同进步。
原文地址:https://www.cnblogs.com/renshikai/p/12319423.html
时间: 2024-10-08 02:04:28