ES6新特性

82 阅读2分钟

ES6新特性

1.let const的感念以及与var的区别

区别:1.letconst具有块级作用域,var不存在块级作用域,不能进行跨域访问,var定义的是全局变量
区别:2.变量提升:var存在变量提升,letconst不存在变量提升
区别:3.浏览器的全局对象是windowvar声明的变量是全局变量,可以将该变量添加为全局对象的属性,但是letconst不会。

模板字符串

简单来说就是反引号引起来的字符串,可以用在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)//123;
```
    2.Rest操作符
```function test(...arr){
    console.log(arr);
}
test(1,2,3,4,5,6);//[1,2,3,4,5,6]
```

二进制和八进制

ES6中支持二进制和八进制的字面量

对象和数组的解构

快速从对象和数组中获取数据

对象超类

ES6中允许在对象中使用super方法