前端开发必读书目Javascript篇——阮一峰的《ES6 标准入门》

gsw 2017-09-24

前端开发必读书目系列之Javascript篇——阮一峰的《ES6 标准入门》

随着移动端浏览器性能和兼容性不断提升,以及各类 Javascript Native 框架的日渐成熟,Web 前端开发的确实越来越明朗和清晰。本系列文章为大家整理推荐一些前端开发的经典书籍,大家可根据自身实际情况选择阅读,希望对大家学好前端开发,提升自己的能力,找到心仪的工作有所帮助。

《ES6 标准入门》

  • 作者:阮一峰

  • 页数:336

  • 出版: 电子工业出版社 2016年版

前端开发必读书目Javascript篇——阮一峰的《ES6 标准入门》

简要评价

学习前端开发的人,大概都听过大名鼎鼎的阮一峰,他写的博客开门见山、深入浅出,将复杂的概念和技术用非常舒服的结构和节奏写出来,非常适合入门学习。这本《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 工具


喜欢闲适安静的生活,懂一点计算机编程,懂一点统计学和数据分析。(爱编程爱统计)

相关推荐