es6阮一峰教程官网入口:https://es6.ruanyifeng.com/
阮一峰JavaScript标准参考教程(alpha)首页:https://javascript.ruanyifeng.com/
前端开发必读书目系列之Javascript篇——阮一峰的《ES6 标准入门》
随着移动端浏览器性能和兼容性不断提升,以及各类 Javascript Native 框架的日渐成熟,Web 前端开发的确实越来越明朗和清晰。本系列文章为大家整理推荐一些前端开发的经典书籍,大家可根据自身实际情况选择阅读,希望对大家学好前端开发,提升自己的能力,找到心仪的工作有所帮助。
《ES6 标准入门》
- 作者:阮一峰
- 页数:336
- 出版: 电子工业出版社 2016年版
简要评价
学习前端开发的人,大概都听过大名鼎鼎的阮一峰,他写的博客开门见山、深入浅出,将复杂的概念和技术用非常舒服的结构和节奏写出来,非常适合入门学习。这本《ES6 标准入门》,同样秉承了这样的特点,既通俗易读又不失技术深度,是我看过的最好的 ES6 入门教材,强烈推荐给大家看。
当然,这本书并不从头讲 Javascript,需要读者已经有一定的 Javascript 语言基础。另外这本书我看的是第二版,貌似9月份已经出第三版了,大家可以关注。如果不想买书,在阮一峰老师的博客上,可以看到这本书的电子版。地址为:http://es6.ruanyifeng.com 。
主要内容
ES6(又名 ES2105)是 JavaScript 语言的新标准,2015 年 6 月正式发布后,得到了迅速推广,是目前业界超级活跃的计算机语言。《ES6标准入门》对标准进行了彻底的解读,所有新增的语法知识(包括即将发布的 ES7)都给予了详细介绍,并且紧扣业界开发实践,给出了大量简洁易懂、可以即学即用的示例代码。《ES6标准入门》为中级难度,适合对 JavaScript 语言或 ES5 已经有所了解的读者,用来提高水平,了解这门语言的最新发展;也可当作参考手册,查寻 ES6/ES7 新增的语法点。
书籍目录
第1章 ECMAScript 6简介
- 1.1 ECMAScript和JavaScript的关系
- 1.2 ECMAScript的历史
- 1.3 部署进度
- 1.4 Babel转码器
- 1.5 Traceur转码器
- 1.6 ECMAScript 7
第2章 let和const命令
- 2.1 let命令
- 2.2 块级作用域
- 2.3 const命令
- 2.4 跨模块常量
- 2.5 全局对象的属性
第3章 变量的解构赋值
- 3.1 数组的解构赋值
- 3.2 对象的解构赋值
- 3.3 字符串的解构赋值
- 3.4 数值和布尔值的解构赋值
- 3.5 函数参数的解构赋值
- 3.6 圆括号问题
- 3.7 用途
第4章 字符串的扩展
- 4.1 字符的Unicode表示法
- 4.2 codePointAt()
- 4.3 String.fromCodePoint()
- 4.4 字符串的遍历器接口
- 4.5 at()
- 4.6 normalize()
- 4.7 includes(),startsWith(),endsWith()
- 4.8 repeat()
- 4.9 padStart(),padEnd()
- 4.10 模板字符串
- 4.11 实例:模板编译
- 4.12 标签模板
- 4.13 String.raw()
第5章 正则的扩展
- 5.1 RegExp 构造函数
- 5.2 字符串的正则方法
- 5.3 u 修饰符
- 5.4 y 修饰符
- 5.5 sticky 属性
- 5.6 flags 属性
- 5.7 RegExp.escape()
第6章 数值的扩展
- 6.1 二进制和八进制数值表示法
- 6.2 Number.isFinite(), Number.isNaN()
- 6.3 Number.parseInt(), Number.parseFloat()
- 6.4 Number.isInteger()
- 6.5 Number.EPSILON
- 6.6 安全整数和Number.isSafeInteger()
- 6.7 Math 对象的扩展
- 6.8 指数运算符
第7章 数组的扩展
- 7.1 Array.from()
- 7.2 Array.of()
- 7.3 数组实例的copyWithin()
- 7.4 数组实例的find() 和findIndex()
- 7.5 数组实例的fill()
- 7.6 数组实例的entries()、keys() 和values()
- 7.7 数组实例的includes()
- 7.8 数组的空位
- 7.9 数组推导
第8章 函数的扩展
- 8.1 函数参数的默认值
- 8.2 rest 参数
- 8.3 扩展运算符
- 8.4 name 属性
- 8.5 箭头函数
- 8.6 函数绑定
- 8.7 尾调用优化
- 8.8 函数参数的尾逗号
第9章 对象的扩展
- 9.1 属性的简洁表示法
- 9.2 属性名表达式
- 9.3 方法的name 属性
- 9.4 Object.is()
- 9.5 Object.assign()
- 9.6 属性的可枚举性
- 9.7 属性的遍历 098
- 9.8 proto 属性, Object.setPrototypeOf(), Object.getPrototypeOf()
- 9.9 对象的扩展运算符
第10 章 Symbol
- 10.1 概述
- 10.2 作为属性名的Symbol
- 10.3 实例:消除魔术字符串
- 10.4 属性名的遍历
- 10.5 Symbol.for(),Symbol.keyFor()
- 10.6 内置的Symbol 值
第11 章 Proxy 和Reflect
- 11.1 Proxy 概述
- 11.2 Proxy 实例的方法
- 11.3 Proxy.revocable()
- 11.4 Reflect 概述
- 11.5 Reflect 对象的方法
第12 章 二进制数组
- 12.1 ArrayBuffer 对象
- 12.2 TypedArray 视图
- 12.3 复合视图
- 12.4 DataView 视图
- 12.5 二进制数组的应用
第13 章 Set 和Map 数据结构
- 13.1 Set
- 13.2 WeakSet
- 13.3 Map
- 13.4 WeakMap
第14 章 Iterator 和for…of 循环
- 14.1 Iterator 的概念
- 14.2 数据结构的默认Iterator 接口
- 14.3 调用Iterator 接口的场合
- 14.4 字符串的Iterator 接口
- 14.5 Iterator 接口与Generator 函数
- 14.6 遍历器对象的return()、throw()
- 14.7 for…of 循环
第15 章 Generator 函数
- 15.1 简介
- 15.2 next 方法的参数
- 15.3 for…of 循环
- 15.4 Generator.prototype.throw()
- 15.5 Generator.prototype.return()
- 15.6 yield* 语句
- 15.7 作为对象属性的Generator 函数
- 15.8 Generator 函数的this
- 15.9 Generator 函数推导
- 15.10 含义
- 15.11 应用
第16 章 Promise 对象
- 16.1 Promise 的含义
- 16.2 基本用法 208
- 16.3 Promise.prototype.then()
- 16.4 Promise.prototype.catch()
- 16.5 Promise.all()
- 16.6 Promise.race()
- 16.7 Promise.resolve()
- 16.8 Promise.reject()
- 16.9 两个有用的附加方法
第17 章 异步操作和async 函数
- 17.1 基本概念
- 17.2 Generator 函数
- 17.3 Thunk 函数
- 17.4 co 模块
- 17.5 async 函数
第18 章 Class
- 18.1 Class 基本语法
- 18.2 Class 的继承
- 18.3 原生构造函数的继承
- 18.4 Class 的取值函数(getter)和存值函数(setter
- 18.5 Class 的Generator 方法
- 18.6 Class 的静态方法
- 18.7 Class 的静态属性
- 18.8 new.target 属性
- 18.9 Mixin 模式的实现
第19 章 修饰器
- 19.1 类的修饰
- 19.2 方法的修饰
- 19.3 为什么修饰器不能用于函数
- 19.4 core-decorators.js
- 19.5 使用修饰器实现自动发布事件
- 19.6 Mixin
- 19.7 Trait
- 19.8 Babel 转码器的支持
第20 章 Module
- 20.1 严格模式
- 20.2 export 命令
- 20.3 import 命令
- 20.4 模块的整体加载
- 20.5 module 命令
- 20.6 export default 命令
- 20.7 模块的继承
- 20.8 ES6 模块加载的实质
- 20.9 循环加载
- 20.10 ES6 模块的转码
第21 章 编程风格
- 21.1 块级作用域
- 21.2 字符串
- 21.3 解构赋值
- 21.4 对象
- 21.5 数组
- 21.6 函数
- 21.7 Map 结构
- 21.8 Class
- 21.9 模块
- 21.10 ESLint 的使用
第22 章 读懂ECMAScript 规格
- 22.1 概述
- 22.2 相等运算符
- 22.3 数组的空位
- 22.4 数组的map 方法
第23 章 参考链接
- 23.1 官方文件
- 23.2 综合介绍
- 23.3 let 和const
- 23.4 解构赋值
- 23.5 字符串
- 23.6 正则
- 23.7 数值
- 23.8 数组
- 23.9 函数
- 23.10 对象
- 23.11 Proxy 和Reflect
- 23.12 Symbol
- 23.13 二进制数组
- 23.14 Set 和Map
- 23.15 Iterator
- 23.16 Generator
- 23.17 Promise 对象
- 23.18 Class
- 23.19 Decorator
- 23.20 Module
- 23.21 工具