变量的解构赋值

数组解构赋值

eq: let[aa,bb,cc]=[1,2,3];

按照一定的模式,从数组或对象中提取值,为变量进行赋值,这个过程叫做解构

只要= 左右两边值得个数相等,左边的元素会按照索引,一一找到对应的值,本质上叫做模式匹配


左边的元素只能匹配到一部分右边的值时,这种情况被称为不完全解构

左边的元素找不到右边的值时,变量的默认值为undefined,这种情况被称为结构不成功

如果=右边的值为不可遍历对象时,会抛出异常

只要某种数据结构具有Iterator接口,都尅采用数组形式的解构赋值

解构赋值允许指定默认值

只有当一个数组成员严格等于(===)undefined时,才会取默认值

如果默认值为一个表达式,那么这个表达式是惰性求值,只有在用到的时候才会求值

对象解构赋值

eq: let {aa,bb,cc} = {aa:1,bb:2,cc:c};

对象的属性没有顺序,所以变量名必须保持一致才能赋值

你可能感兴趣的:(变量的解构赋值)