ES6-新特性(必须了解且要应用到开发中)

1、let和const

形成块级作用域
let:不能重复声明;不存在变量提升;不影响作用域链
const:一定要赋初始值;一般常量使用大写;常量的值不能修改;对于数组和对象的元素的修改,不算做对常量的修改

2、解构赋值

对象和数组;
属性解构用的少,方法解构用的多

3、模板字符串

``(反引号)允许在内容中直接出现换行符;变量的拼接使用${}

4、扩展运算符

···,将数组转化为逗号分割的参数序列

5、箭头函数

书写格式:() => {}
1)箭头函数中的this是静态的(不存在this),不能改变this指向
2)不能作为构造函数去实例化对象
3)不能用arguments变量(在函数内部保存实参)
4)简写方式:省略(),形参有且只有一个;省略{},代码提只有一句,此时return也必须省略

6、迭代器

很多语言中都有迭代器的;
iterator,es6使用for···of循环遍历;
原生具备iterator接口的数据:array,set,map

7、对象属性简写

es6允许在{}直接写入变量和函数,作为对象的属性和方法;
这个在后期的开发中会很多的用到,比如Vue实例中的methods中的函数,就可以简写,省去function关键字

8、es6允许给函数参数赋初始值

这种写法会很方便,如果有实参,则使用实参;如果没有实参,则使用初始值

9、promise

为了解决异步编程问题,见名知意,promise是承诺的意思,它里面装着一个未来一定会发生的事件。
首先创建一个promise实例化对象,接受一个函数类型的参数,该函数有两个参数,分别是resolve和reject;并且还有一个then方法来指定回调,then方法有两个参数,都是回调函数,如果是promise的状态是resolve,则执行then方法的第一个函数;如果是reject,则执行第二个函数。
promise的catch方法,用来指定promise对象失败的回调。

10、类:class

class声明类;constructor定义构造函数初始化,固定写法,必须是constructor;extends继承父类;super继承父级属性;static定义静态方法和属性;父类的方法会自动继承;子类可以对父类的方法进行重写

11、模块化

import 和 export

你可能感兴趣的:(前端,es6)