有你在真好 的个人博客
前端开发必读——Redux及React核心成员力荐的《深入理解ES6》
阅读:2184 添加日期:2021/3/27 23:23:28 原文链接:https://www.toutiao.com/item/6473598983766802957/

前端开发必读书目——Nicholas C.Zakas 的《深入理解ES6》

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

《深入理解ES6》

  • 作者:[美] Nicholas C. Zakas

  • 译者:刘振涛

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

前端开发必读——Redux及React核心成员力荐的《深入理解ES6》

简要评价

市面上专门学习ES6的书籍并不多,我知道的好像就是阮一峰老师的《ES6标准入门》以及这本《深入理解ES6》了。

这本书的作者长期供职于雅虎,是牛逼的 JS 库 YUI 的主要作者,也是 Javascript 经典书籍 《Javascript高级程序设计》 的作者,这本《深入理解ES6》也一如既往,质量非常高。

和阮一峰老师的《ES6标准入门》相比,两者各有特点。阮一峰老师介绍的非常详细,对很多使用细节着墨非常多,但对其传承和原理却介绍的相对较少。这本书最大的特点是从浅到深,从为什么引入这个特性开始,一步一步地深入展开讲解,让你理解的非常通透,让你对 ES6 的新特性有更加深入和直观的理解,体现了一代大牛的深厚功底。

个人感觉,这两本书先看这本,首先深入理解 ES6 背后的逻辑,然后,如果要加深一下对有些细节的掌握,再看阮一峰的《ES6标准入门》,效果会比较好。

名家推荐

Redux 缔造者与 React 核心成员作序力荐,盛赞本书对JS的剖析无人企及。

主要内容

ES6是迄今为止JavaScript内核首当其冲的一次重大更新。本书是领域大家Nicholas C. Zakas撰写的一份ES6的完整指南,书中详细讲解了ES 6在JavaScript对象类型、语法及其他方面激动人心的改变。每一章都含有可运行于任何JavaScript环境的示例代码,你可以利用这些代码测试、理解ES6中的新功能。无论你是Web开发者还是Node.js开发者,都可以通过本书来更好地理解和运用ES6,或是顺利地从ES5迁移到ES6。

书籍目录

第1章 块级作用域绑定

  • var声明及变量提升机制

  • 块级声明

  • 循环中的块作用域绑定

  • 全局块作用域绑定

  • 块级绑定最佳实践的进化

  • 小结

第2章 字符串和正则表达式

  • 更好的Unicode支持

  • 其他字符串变更

  • 其他正则表达式语法变更

  • 模板字面量

  • 小结

第3章 函数

  • 函数形参的默认值

  • 处理无命名参数

  • 增强的Function构造函数

  • 展开运算符

  • name属性

  • 明确函数的多重用途

  • 块级函数

  • 箭头函数

  • 尾调用优化

  • 小结

第4章 扩展对象的功能性

  • 对象类别

  • 新增方法

  • 重复的对象字面量属性

  • 自有属性枚举顺序

  • 增强对象原型

  • 正式的方法定义

  • 小结

第5章 解构:使数据访问更便捷

  • 为何使用解构功能

  • 对象解构

  • 数组解构

  • 混合解构

  • 解构参数

  • 小结

第6章 Symbol和Symbol属性

  • 创建Symbol

  • Symbol的使用方法

  • Symbol共享体系

  • Symbol与类型强制转换

  • Symbol属性检索

  • 通过well-known Symbol暴露内部操作

  • 小结

第7章 Set集合与Map集合

  • ECMAScript 5中的Set集合与Map集合

  • 该解决方案的一些问题

  • ECMAScript 6中的Set集合

  • ECMAScript 6中的Map集合

  • 小结

第8章 迭代器和生成器

  • 循环语句的问题

  • 什么是迭代器

  • 什么是生成器

  • 可迭代对象和for-of循环

  • 内建迭代器

  • 展开运算符与非数组可迭代对象

  • 高级迭代器功能

  • 异步任务执行

  • 小结

第9章 JavaScript中的类

  • ECMAScript 5中的近类结构

  • 类的声明

  • 类表达式

  • 作为一等公民的类

  • 访问器属性

  • 可计算成员名称

  • 生成器方法

  • 静态成员

  • 继承与派生类

  • 在类的构造函数中使用new.target

  • 小结

第10章 改进的数组功能

  • 创建数组

  • 为所有数组添加的新方法

  • 定型数组

  • 定型数组与普通数组的相似之处

  • 定型数组与普通数组的差别

  • 小结

第11章 Promise与异步编程

  • 异步编程的背景知识

  • Promise的基础知识

  • 全局的Promise拒绝处理

  • Node.js环境的拒绝处理

  • 浏览器环境的拒绝处理

  • 串联Promise

  • 响应多个Promise

  • 自Promise继承

  • 基于Promise的异步任务执行

  • 小结

第12章 代理和反射API

  • 数组问题

  • 代理和反射

  • 创建一个简单的代理

  • 使用set陷阱验证属性

  • 用get陷阱验证对象结构

  • 使用has陷阱隐藏已有属性

  • 用deleteProperty陷阱防止删除属性

  • 原型代理陷阱

  • 对象可扩展性陷阱

  • 属性描述符陷阱

  • ownKeys陷阱

  • 函数代理中的apply和construct陷阱

  • 可撤销代理

  • 解决数组问题

  • 将代理用作原型

  • 小结

第13章 用模块封装代码

  • 什么是模块

  • 导出的基本语法

  • 导入的基本语法

  • 导出和导入时重命名

  • 模块的默认值

  • 重新导出一个绑定

  • 无绑定导入

  • 加载模块

  • 小结

  • 附录A ECMAScript 6中较小的改动

  • 附录B 了解ECMAScript 7(2016)

  • 索引


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

ICP备案号:苏ICP备14035786号-1 苏公网安备 32050502001014号