ES6新语法

191 阅读1分钟

ES6新语法

对象简写

​ 在定义对象的时候,如果属性名和变量名一致,那么可以实现简写,对象的方法也可以简写。

	 let name = 'jack'
      let age = 20
      // 如果对象的键的名称和值的名称同名,则只需要写一个就可以了
      let obj = {
        name,
        age,
        // 方法也可以简写
        // say:function(){}
        say() {
            console.log(this)
        }
      }
      console.log(obj)    //{name: 'jack', age: 20, say: ƒ}

解构

1、数组解构:就是提供更简便的方式获取数组中的元素

 let arr = [1, 3, 5, 7, 9]
 //解构数组,赋值
 //let [a,b,c,d] = arr
 //console.log(a, b,c,d);   //1 3 5 7
 
 //获取任意数,(...)把剩余的元素保存在一个数组里
 let [, a, ...b] = arr
 console.log(a, b);  //3  (3) [5, 7, 9]

交换两个数的值:

let a = 10,

 b = 20

;[a, b] = [b, a]

 console.log(a, b)   //20 10

2、对象解构:就是提供更简便的方式获取对象的属性值

 let obj = {
            name: 'jack',
            age: 20,
            gender: '男'
        }

        // let name = obj.name
        // let age = obj.age
        // 对象解构需要使用{ }
        let {
            name
        } = obj
        console.log(name)
		//解构对象如果不存在就报错
        let {
            code
        } = obj
        code()   //code is not a function  没有code()这个方法

3、(:) 冒号的作用:1、可以重命名 ;2、深层解构

let computer = '123'
        let obj = {
            name: 'jack',
            age: 20,
            gender: '男',
            computer: {
                brand: 'dell',
                price: 3000
            }
        }

        // 为解构出的成员重新命名
        let {
            computer: com
        } = obj
        console.log(com) //{brand: 'dell', price: 3000}


        // 二次解构
        let {
            computer: {
                brand
            }
        } = obj

        console.log(brand) //dell

展开运算符(...)

	  let arr = [1, 2, 3]
      let arr2 = [4, 5, 6]
      arr2.push(...arr)
      console.log(arr2)

Set去重

	    let arr = [1, 23, 1, 34, 1, 45, 1, 56, 23]
        let temp = [...new Set(arr)]
        console.log(temp) //[1, 23, 34, 45, 56]