ES6新特性
1.let const的感念以及与var的区别
区别:1.let和const具有块级作用域,var不存在块级作用域,不能进行跨域访问,var定义的是全局变量
区别:2.变量提升:var存在变量提升,let和const不存在变量提升
区别:3.浏览器的全局对象是window。var声明的变量是全局变量,可以将该变量添加为全局对象的属性,但是let和const不会。
模板字符串
简单来说就是反引号引起来的字符串,可以用在js里面写html,这样就可以实现换行,又或者是在html标签中,添加js表达式
对象字面量可简写
ES6中,当对象键名与对应的值名相等的时候,可以进行简写。方法也能够进行简写。(注意,对象字面量可简写不能用作构造函数,否则会报错)
函数默认参数值
ES6中允许你对函数参数设置默认值
for of 与 for in
1.for of:遍历的是键值对中的值
2.for in:遍历的是键值对中的键
箭头函数
ES6中,箭头函数就是函数的一种简写形式,使用括号包裹参数,跟随一个=>,紧接着就是函数体;
三个特点:
1.不需要function关键字来创建函数
2.省略return关键字
3.获取当前上下文的this,来作为自己的this关键字
Spread/Rest操作符
具体情况具体分析:
1.Spread操作符
```function test(){
console.log(x,y,z);
}
let arr=[1,2,3];
test(...arr)
```
2.Rest操作符
```function test(...arr){
console.log(arr);
}
test(1,2,3,4,5,6);
```
二进制和八进制
ES6中支持二进制和八进制的字面量
对象和数组的解构
快速从对象和数组中获取数据
对象超类
ES6中允许在对象中使用super方法