JavaScript ES6知识点汇总(上)

JavaScript ES6知识点汇总(上)

    • 一、module、export、import
    • 二、Generator函数
    • 三、for...in 和 for...of
    • 四、Reflect

简单介绍下,js es6的一些新特性。

一、module、export、import

  1. module、export、import是ES6用来统一前端模块化设计方案的设计思路和实现方案。

export、import的出现统一了前端模块化的实现方案,整合规范了浏览器/服务器端的模块化方法,用来取代传统的的AMD/CMD、requireJS、seaJS、commondJS等等一系列前端模块不同的实现方案,使前端模块化更加统一规范,也使得JS更加适用于实现大型的应用程序开发。

  1. import引入的模块是静态加载(编译阶段加载)而非动态加载(运行时加载)。
  2. import引入export导出的接口值是动态绑定关系,即通过改接口可以获取到模块内部实时的值。

二、Generator函数

  1. 如果说JavaScript是ECMAscript标准的一种具体实现、Iterator遍历器是Iterator的具体实现,那么Generator函数就可以说是Iterator接口的具体实现方式。
  2. 执行Generator函数会返回一个遍历器对象,每一次Generator函数里面的yield都相当于一次遍历器对象的next()方法,并且可以通过next(value)方法传入自定义的value,来改变Generator函数的行为。
  3. Generator函数可以通过配合Thunk函数来更轻松,更优雅的实现异步编程和控制流管理。

三、for…in 和 for…of

  1. ES6统一了遍历标准,制定了可遍历对象,其就是使用for…of这个方法来进行遍历。因为ES6规定了所有搭载了Iterator接口的对象(可遍历对象)都可以通过for…of去遍历。
  2. 同时,这也意味着数组实际上也可以用for…of遍历,这极大的方便了数组的取值,并可以有效减少for…in的使用。
  3. 扩展运算符本质上也就是for…of循环的一种实现。

四、Reflect

reflect是ES6引入的一个新的对象,他的主要作用有两点,一是将原生的一些零散分布在object、function或者全局函数里的方法(如apply、delete、get、set等等),统一整合到Reflect上,这样可以更加方便更加统一的管理一些原生API,其次就是因为Proxy可以改写默认的原生API,而Reflect也起到了一个备份原生API的作用。

这里是万物之恋,我们下次再见了。

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