javascript ES6 系列之模块加载方案 前言 本篇我们重点介绍以下四种模块加载规范: AMD CMD CommonJS ES6 模块 最后再延伸讲下 Babel 的编译和 webpack 的打包原理。 require.js 在了解 AMD 规范之前,我们先来看看 require.js 的使用方式。 项目目…
javascript ES6 系列之 defineProperty 与 proxy 我们或多或少都听过“数据绑定”这个词,“数据绑定”的关键在于监听数据的变化,可是对于这样一个对象:var obj = {value: 1},我们该怎么知道 obj 发生了改变呢?
javascript ES6 系列之 Babel 是如何编译 Class 的(下) 在上一篇 《 ES6 系列 Babel 是如何编译 Class 的(上)》,我们知道了 Babel 是如何编译 Class 的,这篇我们学习 Babel 是如何用 ES5 实现 Class 的继承。
javascript ES6 系列之 Babel 是如何编译 Class 的(上) 在了解 Babel 是如何编译 class 前,我们先看看 ES6 的 class 和 ES5 的构造函数是如何对应的。毕竟,ES6 的 class 可以看作一个语法糖,它的绝大部分功能,ES5 都可以做到,新的 class 写法只是让对象原型的写法…
javascript ES6 系列之 Babel 将 Async 编译成了什么样子 regeneratorRuntime 相关的代码我们在 《ES6 系列之 Babel 将 Generator 编译成了什么样子》 中已经介绍过了,这次我们重点来看看 _asyncToGenerator 函数:
javascript ES6 系列之 Babel 将 Generator 编译成了什么样子 具体的执行过程就不说了,我们直接在 Babel 官网的 Try it out 粘贴上述代码,然后查看代码被编译成了什么样子:
javascript ES6 系列之异步处理实战 前言 我们以查找指定目录下的最大文件为例,感受从 回调函数 -> Promise -> Generator -> Async 异步处理方式的改变。 API 介绍 为了实现这个功能,我们需要用到几个 Nodejs 的 API,所以我们来简单介绍…
javascript ES6 系列之 Generator 的自动执行 单个异步任务 {代码…} 为了获得最终的执行结果,你需要这样做: {代码…} 首先执行 Generator 函数,获取遍历器对象。 然后使用 next 方法,执行异步任务的第一阶段,即 fetch(url)。 注意,由于 fetch(url) …
javascript ES6 系列之我们来聊聊 Promise 前言 Promise 的基本使用可以看阮一峰老师的 《ECMAScript 6 入门》。 我们来聊点其他的。 回调 说起 Promise,我们一般都会从回调或者回调地狱说起,那么使用回调到底会导致哪些不好的地方呢? 1. 回调嵌套 使用…