ES6新特性小总结

ES6的新特性:

1.变量声明的变化,由var变为let和const。

① var无论声明在何处,都会被视为声明在函数的最顶部。(全局变量)
② let表示声明变量,而const表示声明常量,两者都为块级作用域(局部变量)
③ const声明的变量会被默认为常量,所以值设置完之后就不能修改了。但是如果const的是一个对象,则对象里的值可以修改,因为这个对象的地址没变就行。
注意:

  • let关键词声明的变量不具备变量提升(hoisting)特性 ·

  • let 和 const 声明只在最靠近的一个块中(花括号内)有效

  • 当使用常量 const 声明时,请使用大写变量,如:CAPITAL_CASING

  • const 在声明时必须被赋值

2.模板字符串

使用反引号 `` ,在模板字符串里支持换行,并且可以在里面使用${}来包裹一个变量或者表达式。

3.箭头函数

使用()包裹参数,紧接着一个 => ,最后是函数体。
注意:
①有且只有一个参数时才能省略小括号,没有或者多个时都不能省略。
②函数体内只有一行语句时,可以省略大括号,如果有返回值return,则return也要省略。
③继承当前上下文的this关键字

4.展开运算符

… 表示展开运算符,可以将数组或者对象进行展开。

5.对象和数组解构

可以快速获取数组和对象的值。可以直接把数组或对象里的值依次按顺序赋值给多个变量,而在ES5中只能每次定义一个变量去获取数组或对象的一个值。

//创建数组
const fruitList = ['苹果','香蕉','西瓜','桃子','雪梨']
//数组解构
const [fruit1,fruit2,fruit3,fruit4,fruit5] = fruitList

//创建对象
const person = {
name:zhangsan,
age:18,
height:'180cm'
}
//对象解析
const {name,age,height} = person

6.对象的简化赋值

对象赋值时,如果属性名和变量名一致可以简写。

7.类的支持

ES6中添加了类的支持,class成为关键字。
注意:
①类的声明不会提升,定义必须要在使用之前,否则会抛出ReferenceError 的错误
②在类中定义函数不需要使用function关键词

8.for…of和for…in

for…of用于遍历一个迭代器,如数组。for…in用来遍历对象中的属性

你可能感兴趣的:(javascript)