数组解构赋值
eq: let[aa,bb,cc]=[1,2,3];
按照一定的模式,从数组或对象中提取值,为变量进行赋值,这个过程叫做解构
只要= 左右两边值得个数相等,左边的元素会按照索引,一一找到对应的值,本质上叫做模式匹配
左边的元素只能匹配到一部分右边的值时,这种情况被称为不完全解构
左边的元素找不到右边的值时,变量的默认值为undefined,这种情况被称为结构不成功
如果=右边的值为不可遍历对象时,会抛出异常
只要某种数据结构具有Iterator接口,都尅采用数组形式的解构赋值
解构赋值允许指定默认值
只有当一个数组成员严格等于(===)undefined时,才会取默认值
如果默认值为一个表达式,那么这个表达式是惰性求值,只有在用到的时候才会求值
对象解构赋值
eq: let {aa,bb,cc} = {aa:1,bb:2,cc:c};
对象的属性没有顺序,所以变量名必须保持一致才能赋值
网友评论