ES6语法
mxydl2009
这个作者很懒,什么都没留下…
展开
-
ES2015新特性
ECMAScript概述 JavaScript = ECMAScript + 运行环境的API 其中,运行环境包括浏览器和Node环境 ES2015(ES6来泛指ES2015之后的新标准)新特性 解决原有用语法上的不足 let、const与块级作用域 let、const声明的变量只在{}包裹的块级作用域内有效 // 将会打印出三次foo; for(let i = 0; i < 3; i ++) { let i = 'foo'; console.log(i); } // 这段代码相当于如下原创 2020-06-28 17:58:40 · 710 阅读 · 0 评论 -
ES6中的Promise实现原理
Promise规范要点 Promise是一个类,接收一个函数作为参数,该函数称为执行器,创建Promise对象时,执行器会立刻执行; Promise有三种状态,分别为pending等待、fulfilled成功、rejected失败;其中pending会转换为fulfilled或者rejected,一旦状态更新,则无法再更新状态; 执行器函数接收两个参数,分别为resolve函数和reject函数,用于更新Promise对象的状态 then()方法内部需要判断状态,状态成功则调用onFulfilled函数,原创 2020-06-20 20:40:07 · 858 阅读 · 0 评论 -
ES6的Map数据结构
Map数据结构是为了解决对象无法使用非字符串作为键而提出的数据结构,本质上讲,Map是一个二维数组,其中数组元素是只含有两个元素的数组,这两个元素按顺序分别为键和值。如var m = new Map([[x, 1], [y, 2]]);实际上,最常用的形式是把对象作为键,对象相关的信息作为值来存储在Map中。 设置键值对 设置键值对方法set(key, value);var m = new M...原创 2019-07-02 14:42:25 · 1815 阅读 · 0 评论 -
ES6中的生成器和迭代器
生成器函数generator function 用function *name () {}来声明,调用生成器函数则会返回一个生成器对象generator,并且符合可迭代协议和迭代器协议,因此generator也是一个迭代器对象,具有next()方法,调用next()方法会执行生成器函数内的语句(即遍历生成器函数内部的状态,状态值由yield后的表达式值给出)。 function *foo ( x ...原创 2019-06-25 20:58:20 · 148 阅读 · 0 评论