标签
内容简介
ES6 是新一代 JavaScript 语言标准的统称,自 ES2015 起,TC39 委员会每年发布一次修订版。本书依据 ES2017 标准撰写,系统讲解 ES6 相对 ES5 的全部新增语法,既说明语法怎么写,也解释它为什么这样设计、解决什么问题。全书二十六章,从 let/const、解构赋值、字符串与正则扩展、数值与函数扩展、数组与对象扩展讲起,依次深入 Symbol、Set 与 Map、Proxy、Reflect、Promise、Iterator 与 for...of、Generator(含异步应用)、async 函数、Class 基本语法与继承、修饰器、Module 语法与加载实现,最后落到编程风格、如何读懂 ECMAScript 规格以及 ArrayBuffer 等偏底层的专题。第3版较第2版新增约三分之一内容,完全覆盖 ES2017,并对全书章节表述与示例做了修订,篇幅由三百余页增至五百七十余页。本书定位于中级难度,示例代码简洁、可即学即用,既可从头通读,也适合作为随时检索新语法的参考手册。其全部内容以开源方式持续维护,线上版本亦免费公开。
编辑推荐
国内前端圈几乎人手一册的 ES6 教程,胜在“讲清为什么”。很多语法书只告诉你箭头函数的 this 指向哪里,阮一峰却会把设计动机、历史包袱、容易踩坑的边界一并摊开:为什么需要块级作用域、Iterator 协议到底解决了什么、Generator 与 async 的演进关系如何。这种写法让读者获得的是理解,而非仅记住语法;这正是它区别于速查手册的地方。第3版覆盖到 ES2017,把 async 函数、修饰器、Module 加载等当时的新内容补齐,篇幅翻倍但行文依旧克制,示例短小、可复制到控制台直接验证。全书开源维护,纸书排版清晰,章末不含习题,适合当作“案头工具书+系统读物”两用。需要说明的是,书中内容截至 2017 年,其后新增的 ES2018 及以后特性(如可选链、空值合并、顶层 await)并不在纸书范围内,线上版已持续更新,可作补充。
适合谁读
适合
- 已掌握 ES5 基本语法、想系统升级到现代 JavaScript 的前端开发者
- 工作中频繁接触 React、Vue 等现代框架,需要弄清语法来源的工程师
- 准备前端面试、需要梳理 ES6 知识体系的求职者
- 想理解语言设计动机、而非只背语法结论的自学者
不适合
- 完全没有编程基础、尚未接触过 JavaScript 的零起点读者
- 只想要一份最新语法速查表、不在意原理与演进的读者
- 需要跟进 ES2018 之后最新特性的开发者(宜看线上版或更新资料)
阅读建议
- 先读第1章搞清 ECMAScript 与 JavaScript 的关系及 Babel 转码,再动手敲代码。
- 第一遍按章节顺序通读并逐段跑示例;第二遍把 Proxy、Reflect、Iterator、Generator 四章串起来理解元编程与异步演进。
- 把本书当参考手册用:遇到新语法先查对应章节的“设计目的”部分,再回代码验证。
- 读完纸书后对照官网线上版补足 2017 年之后的新增内容,避免知识停留在 ES2017。
出版社简介
电子工业出版社
中国 · 成立于 1982 年
电子工业出版社是一家以电子信息及相关领域为出版特色的综合性出版社。从库内三千余种图书来看,其出版方向覆盖编程设计、人工智能、计算机综合、财经、摄影与社科等门类,既关注技术前沿,也兼顾大众阅读。代表图书包括《因子投资:方法与实践》《x86汇编语言:从实模式到保护模式》《RISC-V开放架构设计之道》《人工智能:语音识别理解与实践》《相控阵雷达技术》《雷达目标特性》及《100个Go语言典型错误》等,多围绕技术方法与工程实践展开。作者资源方面,有石川、李忠、王晓波、大卫·帕特森、安德鲁·沃特曼、余子濠等中外作者。受公开资料所限,暂不展开更多出版特色。
目录
- 第1章 ECMAScript 6 简介
- 第2章 let 和 const 命令
- 第3章 变量的解构赋值
- 第4章 字符串的扩展
- 第5章 正则的扩展
- 第6章 数值的扩展
- 第7章 函数的扩展
- 第8章 数组的扩展
- 第9章 对象的扩展
- 第10章 Symbol
- 第11章 Set 和 Map 数据结构
- 第12章 Proxy
- 第13章 Reflect
- 第14章 Promise 对象
- 第15章 Iterator 和 for...of 循环
- 第16章 Generator 函数的语法
- 第17章 Generator 函数的异步应用
- 第18章 async 函数
- 第19章 Class 的基本语法
- 第20章 Class 的继承
- 第21章 修饰器
- 第22章 Module 的语法
- 第23章 Module 的加载实现
- 第24章 编程风格
- 第25章 读懂 ECMAScript 规格
- 第26章 ArrayBuffer
常见问题
这本书适合零基础学 JavaScript 吗?
不适合。本书定位为中级难度,默认读者已掌握 ES5 的基本语法与作用域、函数等概念。零基础建议先学完一本 JavaScript 入门教程,再回来看本书,否则容易在 Proxy、Generator 等章节卡住。
第3版和第2版有什么差别?
第3版覆盖到 ES2017 标准,比第2版新增约三分之一内容,补充了 async 函数、修饰器、Module 加载实现等章节,并修订了全书表述与示例,页数从三百余页增至五百七十余页。
书里的示例代码能直接运行吗?
大部分示例是短小独立的代码片段,可在浏览器控制台或 Node 环境中运行;涉及模块、修饰器等尚未被所有环境原生支持的语法,需要按第1章介绍的 Babel 转码方式配置后运行。
纸书内容和官网线上版一样吗?
纸书基于网站内容排版印刷,内容截至 2017 年出版时;官网线上版一直在持续修订,已补充 ES2018 之后的新特性,两者会有差异,建议以纸书打基础、线上版作补充。
这本书主要讲语法还是讲实战?
以语法与原理为主,兼顾用法。每章既讲清语法规则,也说明设计目的和常见陷阱,并配有可即学即用的示例;它不涉及框架实战项目,更接近系统教程加参考手册。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。