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]