Skip to content

hjzheng/exploring-es6

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

如何加入翻译

  • 1、fork 项目;
  • 2、提出 issue ,表明自己想翻译哪些内容,时间大致是多久;
  • 3、组织者会审核此 issue ,审核完成后会将 issue 设为“翻译中”状态,此时申请者可以开始翻译了;
  • 4、翻译完之后,提交 pull request ,并将相应 issue 修改为“翻译完成”;
  • 5、pull request 审核通过后会被合并到 master 分支, issue 状态会被改为 “review 通过”;
  • 6、如果在指定时间内还没翻译完,则相应 issue 就会被设为“超时未完成”状态,此时该部分翻译内容可能会被重新分配给其他人。

目录

  • 关于这本书你需要知道的

    • 本书读者: JavaScript 程序员
    • 为什么应该阅读这本书?
    • 如何阅读这本书
    • 术语和约定
    • 补充
    • 脚注
  • 前言

  • 感谢

  • I 背景

    • 1 关于 ECMAScript 6 ( ES6 )
      • 1.1 TC39 ( Ecma 技术委员会 39 )
      • 1.2 ECMAScript 6 是如何设计的
      • 1.3 JavaScript vs ECMAScript
      • 1.4 升级到 ES6
      • 1.5 ES6 的目标
      • 1.6 ES6 特性概览
      • 1.7 ECMAScript 历史简介
    • 2 ECMAScript 6 常见问题解答
      • 2.1 当前引擎支持 ES6 的程度是多少?
      • 2.2 如何将 ECMAScript 5 代码迁移至 ECMAScript 6 ?
      • 2.3 现在学习 ECMAScript 5 还有必要吗?
      • 2.4 ES6 臃肿吗?
      • 2.5 ES6 规范文档不是很大吗?
      • 2.6 ES6 包含了数组吗?
      • 2.7 ES6 是静态类型的吗?
      • 2.8 应该避免使用类吗?
      • 2.9 ES6 有特性( traits )或者混入( mixins )吗?
      • 2.10 为什么 ES6 有带 => 的箭头函数,而没有带 -> 的箭头函数?
      • 2.11 在哪里可以找到更多的 ES6 资源?
    • 3 One JavaScript: avoiding versioning in ECMAScript 6
      • 3.1 版本
      • 3.2 严格模式与 ECMAScript 6
      • 3.3 结论
      • 3.4 深入阅读
    • 4 进入 ECMAScript 6 开发
      • 4.1 现在就使用 ECMAScript 6
      • 4.2 转换工具
      • 4.3 其他有用的 ES6 工具和库
      • 4.4 ES6 交互式解释器( REPLs )
      • 4.5 有 ES6 特性不能转换成 ES5 吗?
      • 4.6 示范转换设置
      • 4.7 示范设置:通过 webpack 和 babel 处理客户端 ES6
      • 4.8 示范设置:通过 Babel 在 Node.js 基础上动态转换 ES6
      • 4.9 示范设置:通过 gulp 和 Babel 在 Node.js 上静态转换 ES6
  • II 数据

  • III 模块化

  • IV 集合

    • 17 新的数组特性
      • 17.1 数组类方法
      • 17.2 数组原型方法
    • 18 Maps 和 Sets
      • 18.1 概览
      • 18.2 Map
      • 18.3 WeakMap
      • 18.4 Set
      • 18.5 WeakSet
      • 18.6 关于 Maps 和 Sets 的常见问题解答
    • 19 类型数组
    • 20 遍历和遍历器
    • 21 生成器( Gnerators )
      • 21.1 概览
      • 21.2 什么是生成器?
      • 21.3 作为遍历器的生成器(数据生产)
      • 21.4 作为观察者的生成器(数据消费)
      • 21.5 作为协同器的生成器(多任务协作)
      • 21.6 生成器示例
      • 21.7 在遍历 API 内集成(包括生成器)
      • 21.8 代码风格:空格在星号之前还是之后
      • 21.9 结论
      • 21.10 深入阅读
  • V 标准库

    • 22 正则表达式
    • 23 异步编程(后台)
      • 23.1 JavaScript 调用堆栈
      • 23.2 浏览器的事件循环
      • 23.3 异步获取结果
      • 23.4 向前看
      • 23.5 深入阅读
    • 24 用于异步编程的 Promises
      • 24.1 概览
      • 24.2 Promise
      • 24.3 第一个例子
      • 24.4 创建和使用 Promise
      • 24.5 例子
      • 24.6 Promise 链
      • 24.7 组合
      • 24.8 Promise 总是异步的
      • 24.9 备忘单: ECMAScript 6 Promise API
      • 24.10 Promise 的优缺点
      • 24.11 Promise 和生成器
      • 24.12 调试 Promise
      • 24.13 Promise 内部
      • 24.14 两个有用的 Promise 附加方法
      • 24.15 ES6 兼容的 Promise 库
      • 24.16 与传统异步代码对接
      • 24.17 深入阅读
  • VI 杂项

    • 25 Unicode
    • 26 尾递归优化
    • 27 用代理实现元编程
      • 27.1 概览
      • 27.2 编程和元编程
      • 27.3 初窥代理( proxy )
      • 27.4 代理使用场景
      • 27.5 代理 API 设计
      • 27.6 参考:代理 API
      • 27.8 深入阅读
    • 28 ECMAScript 6 的编码风格