ES6,记录下

原创 黄灿灿 随笔 笔记 104阅读 2019-02-15 11:46:34 举报

let、const

和 var 不一样的是,let 和 const 不存在变量提升

var存在的问题:

  • var有作用域问题(会污染全局作用域)
  • var可已重复声明
  • var会变量提升预解释
  • var不能定义常量

而let const

  • let、const不可以重复声明
  • let、const不会声明到全局作用域上
  • let、const不会预解释变量
  • const做常量声明(一般常量名用大写)

模板字符串

模板字符串是为了解决使用+号拼接字符串的不便利而出现的。它的功能非常强大,但是我们大多数时候使用它则非常简单。看一个例子大家就明白怎么使用了。

箭头函数

  • 写法上的不同,箭头函数更加简洁
  • 不改变this指向

展开运算符

在ES6中用...来表示展开运算符,它可以将数组方法或者对象进行展开。

展开对象数据也是可以得到类似的结果

includes

解析结构(解构)

解析结构是一种全新的写法,可以让我们用一个更简便的语法从一个数组或者对象(即使是深层的)中分离出来值,并存储他们。

函数默认参数

ES6 中,函数的参数可以支持设置默认值:

类 Classes

ES6为我们创建对象提供了新的语法糖,这就是Class语法。如果你对ES5中面向对象的方式比较熟悉的话,Class掌握起来也是非常迅速的,因为除了写法的不同,它并不会增加新的难以理解的知识点。我们先利用一个简单的例子来看看写法的不同。

继承 extends
相比ES5,ES6的继承就要简单很多,我们直接来看一个例子。

我们只需要一个extends关键字,就可以实现继承了,不用像ES5那样去担心构造函数继承和原型继承,除此之外,我们还需要关注一个叫做super的方法。

在继承的构造函数中,我们必须如上面的例子那么调用一次super方法,它表示构造函数的继承,与ES5中利用call/apply继承构造函数是一样的功能。

async await

  • async用来修饰函数,需要配合await
  • await后只能跟promise

async 函数返回的 Promise 对象,必须等到内部所有的 await 命令的 Promise 对象执行完,才会发生状态改变
也就是说,只有当 async 函数内部的异步操作都执行完,才会执行 then 方法的回调。

看这里

Promise

看这里

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复