ES6中有哪些新特性?
- 变量声明:let 和 const
- 模板字符串:使用反引号``;在模板字符串里面支持换行,并可以在里面使用${}来包裹一个变量或表达式。
let name = '打铁的哥们'
let obj = `你好我是你的好朋友&{name}`
console.log(obj)
- 变量的解构赋值:有数组解构和对象解构;可以快速获取数组和对象的值。
let obj = {
name: '打铁的哥们',
age: 19,
color: "red"
}
const { name, age, color } = obj
console.log(name,age,color)
- 展开运算符:在ES6中用…来表示展开运算符,它可以将数组或者对象进行展开。
let arr = [1,2,3,4]
let newArr = [...arr]
console.log(newArr);
let obj = {
name: '打铁的哥们',
age: 19
}
let newObj = { ...obj }
console.log(newObj)
- 箭头函数:=>{},不需要通过function关键字创建函数,并且可以省略return关键字,同时this指向会发生改变。
- 对象的简化赋值:属性名和变量名一致可以简写。
- 类的支持:ES6中添加了对类的支持,引入了class关键字。JS本身就是面向对象,ES6中提供的类实际上只是JS原型模式包装。现在有了class,对象的创建,继承更直观,父类方法的调用,实例化,静态方法和构造函数更加形象化。
- 函数的参数默认值