ES6统称2015年后JavaScript所有最新版本。
1.let 和 const 关键字
- let和const不允许重复声明变量
- 没有变量提升
- 声明的变量会被所有代码块限制作用范围
let和const区别:
const只能赋值一次,这样的变量称为常量。
2. 箭头函数(简化函数写法)
语法:
const fn=() => { }
(1)特殊写法:
- 当参数只有一个时,括号可不写。
let fn=a => { }
- 当函数体只有一行代码,大括号可以省略。
let fn=a => console.log(a)
- 当函数体只有一行,且这行代码是return语句,return可以省略不写。
let fn=a => a //返回a , return a
(2)箭头函数中this是指向上下文对象。
3.箭头函数传参时的默认值
如果没有给函数设置值,函数会自动执行默认值,如果设置了值,默认值则不影响。
//函数传参的默认值设置
const fn1=(m=33,n=20) =>{
let max=m
if(max<n){
max=n
}
console.log(max)
}
//fn1(24,90) //90
fn1() //33
4.解构赋值
(1)解构对象
//解构对象
let obj = {
name : 'rose',
age : 23,
gender : '男'
}
let {name,age,gender} = obj
// console.log(obj.name)
console.log(name, age, gender)
注意:解构对象赋值给变量时,解构对象的属性名要等于变量的名称。
(2)解构数组
//解构数组
let arr=[1,2,3,4]
let [a,b,c,d]=arr
console.log(a,b,c,d)
5.展开运算符
语法:
...obj
...arr
作用:合并数组,合并对象。
<script>
let arr=[1,2,3]
let newArr=[...arr,5,6,7] //合并数组
console.log(newArr)
let obj={
name:'rose',
age:23
}
let newObj={
...obj, //合并对象
gender:'女'
}
console.log(newObj)
</script>
6.对象字面量简化写法
<script>
const name='rose'
const age=23
const gender='女'
const obj={name,age,gender}
console.log(obj)
</script>