变量解构赋值
程序员文章站
2023-12-21 13:23:46
...
1.从数组对象中提取值,对变量进行赋值,被称为结构。
2.false,1,NaN、undefind、null转化为对象后不具备iterator接口,{}本身不具备iterator接口。
3.Set结构也可使用数组的解构赋值,只需要数据机构具备iterator(迭代器)接口,都可以采用数组形式的解构赋值(.Array、Set、Map、String、TypredArry(可用于处理二进制数据问题)、函数的、nodeList对象(有序的节点列表)、argument对象(函数形参对应)。
//函数的argument对象
function add(num1, num2) {
var res = arguments[0] + arguments[1];
return res;
}
var r = add(7, 8);
console.log(r);
4.iterator叫做迭代器,是一种接口为各种不同的数据结构提供统一的访问机制(一般为遍历)即可以依次去处理数据结构中的每个成员。
5.解构赋值允许指定默认值,ES6内部使用严格运算符(===)判断一个位置是否有值,所以当数组成员严格等于undefined默认值才会生效。默认值为表达式时,只有当用到的时候才会求值。默认值可以引用解构赋值其他变量,但该变量必须已经声明。
6.对象的解构赋值时按照属性,然后在赋值给对应的变量(属性为匹配的模式,变量为赋值对象),数组时按元素的次序排列取值。
7.对象的解构赋值,可以将对象的方法赋值到某个变量上。
8.对象的解构赋值可以取到继承的属性。
9.解构规则是等号右边的值不是对象或数组,会先将其转为对象(undefind和null无法转为对象,解构赋值时会报错)。
10.解构赋值可用于交换变量的值,从函数中返回多个值(函数只能返回一个值,要想返回多个值需要把它们放到数组或者对象中返回)。
11.解构赋值可用于对象的深拷贝。