对象数组

150 阅读2分钟

ES6补充

2.自执行方法

定义一个自执行函数,函数定义完成后,自己执行一次,函数名可以省略,因为没有任何意义

注意:要以分号结束,否则可能会影响后面的语句。

(function sayHello() {
    console.log('sayHello');
})();

自执行函数的简写形式

+ function sayYes() {
    console.log('sayYes');
}();

自执行函数,也可以直接定义成箭头函数

(()=>{
    console.log('aaa');
})()

3.rest参数

// ...args 就是rest参数
function fun1(a,b,c,...args){
    console.log(a,b,c);
    // arguments 是一个类数组对象,结构长得像数组,其实是一个object对象
    console.log(arguments);
    // rest参数 是一个数组对象,既然是数组,就可以直接使用数组的方法。
    console.log(args);
}

4.展开运算符

展开运算符就是...,可以将一个数组全部展开

let arr3 = [...arr1,...arr2]

展开运算符,可以展开对象的全部成员,也可以将一个对象的成员,克隆给另一个对象

let lh2 = {...lh}

展开运算符,可以将多个对象的成员,合并到一个大的对象中,后面对象中的成员,如果跟前面对象中的成员同名,会覆盖前面的

let lxt = {...lh,...gxt}

5.解构赋值

ES6中的解构赋值语句,可以直接将数组中的每个元素提取出来

方式是:let [变量名1,变量名2,...] = 数组

ES6中的解构赋值语句,可以直接将对象中的每个元素提取出来

方式是:let {name,age,gender,job} = obj

通常情况下,对象的属性名称叫什么,就定义什么名称的变量去接,如果出现了同名,可以修改名称

方式是:let {name,age:age1,gender,job} = obj

在ES6中,定义对象时,属性的左右两边的表达式相同时,可以省略右边的表达式,该对象在定义的时候,会自动往父级作用域寻找同名属性名对应的值