标签
内容简介
《JavaScript之美》(英文原版 Beautiful JavaScript,O'Reilly Media 出版)是一本由多位前端与 JavaScript 领域专家共同撰写的文集,由 Anton Kovalyov 担任编者,中文简体版由中国电力出版社于 2017 年 12 月引进出版,杜春晓、司韦韦翻译。 全书共 14 章,每章由一位不同的作者执笔,围绕一个具体的技术或思想主题展开:有人从原型与继承出发,谈 mixin 如何替代传统的类式继承来复用代码;有人讨论 eval 与领域特定语言之间的纠葛,区分它在模板编译、多语言混杂、二进制模式匹配等场景中的正当用途与风险;也有人从“小兔子的画法”这类看似游戏的话题切入,探讨表达形式的多样性与代码风格的教育意义。此外,书中还涉及团队协作中的风格规范、构造器设计中的身份与环境模型问题、用 JavaScript 编写数学表达式的解析器与求值器、Backbone 框架的演化路径、跨浏览器与 Node.js 环境下的错误处理、Node.js 事件循环与异步非阻塞 I/O,以及函数式编程在 JavaScript 中的实践等。 本书并不打算充当语法手册,而是把语言特性当作表达工具来审视:为什么这门当年匆忙诞生的语言能不断进化并长期占据 Web 主导地位,而许多设计更“规整”的语言却逐渐边缘化。章节短小、视角各异,适合在掌握基础语法之后,用来拓宽对 JavaScript 的审美与工程判断。
编辑推荐
市面上讲 JavaScript 的书大体分两类:一是砖头厚的语法大全,二是聚焦某个框架的实战手册。这本《JavaScript之美》两头都不占,它更像一本“工程师随笔集”——十四位在各自领域做出过实际东西的人,各自挑一个自己真正感兴趣的点,讲透一种思路。 它的好处是视野杂而有序。讲 mixin 的一章会让你重新想一想“复用”到底是什么;讲 eval 的一章没有停留在“永远别用”的口号上,而是把它放回模板编译、DSL 这些真实场景里衡量;讲解析器与求值器的一章只有几十页,却把词法分析、语法树、遍历求值这条链路完整走了一遍,是很多人第一次亲手写出解释器的入门起点;讲事件循环与错误处理的章节,则直接指向 Node.js 日常开发中最容易踩坑的地方。 篇幅只有一百五十多页,字数十万字出头,一周内可以读完,但几乎每章都会留下一个值得自己动手验证的点子。中文版译文平实,术语处理比较稳妥。需要提醒的是,原书英文版成书于 2015 年,部分示例与生态讨论(如 Backbone 的演进)已显年代感,读者应把它当作启发思路的书,而不是查阅 API 的工具书。
适合谁读
适合
- 已掌握 JavaScript 基础语法、想提升代码品味与设计判断的前端开发者
- 对语言机制、DSL、解析器、事件循环等底层话题有好奇心的工程师
- 需要在团队中制定代码风格与协作规范的 Tech Lead
- 喜欢阅读多作者文集、愿意在一周内补充视野的中高级程序员
不适合
- 零基础、还没有写过任何 JavaScript 代码的初学者
- 希望系统学习语法或查阅 API 的读者,本书不适合当手册使用
- 只想找具体框架实战教程、需要可直接套用示例的人
阅读建议
- 先通读目录挑出最感兴趣的三章,按主题跳跃阅读,本书各章之间并无依赖关系。
- 读第 7 章解析器时,建议在本地跟着敲一遍词法分析与语法树遍历,收获远大于纯阅读。
- 读到 mixin、构造器、错误处理等章节时,对照自己项目里的现有代码做一次复盘,把结论落成重构清单。
- 留意英文原版成书于 2015 年,涉及生态与工具的部分请以当前官方文档为准。
目录
- 前言
- 第1章 美丽的mixin
- 类继承
- 原型
- mixin方法
- 小结
- 第2章 eval和领域特定语言
- “eval是邪恶的”是怎么回事?
- 历史和接口
- 性能
- 常见应用场景
- 模板编译器
- 速度
- 混杂多种语言
- 依赖和作用域
- 对生成的代码调错
- 二进制模式匹配
- 最后的一些想法
- 第3章 小兔子的画法
- 什么是兔子?
- 什么是小兔子?
- 绘画和JavaScript有什么关系?
- 表达形式多样,哪种正确?
- 对课堂教学有怎样的影响?
- 这是艺术吗?为什么它很重要?
- 这看起来像什么?
- 我刚读了些什么内容?
- 第4章 太多的绳子或JavaScript团队开发
- 了解代码的读者
- 代码不妨写得直白些
- 使用类继承
- 风格指南
- 代码的进化
- 第5章 打造和谐模型的构造器设计技巧
- 幽灵:同一模型有多个实例
- 用工厂函数构造的微型模型
- 构造器身份危机
- 支持扩展
- 第6章 同一个世界,同一种语言
- 一项强有力的提议
常见问题
这本书适合 JavaScript 入门读者吗?
不太适合。书中不系统讲解语法,多数章节默认读者已经能熟练写 JavaScript,并从设计取舍、语言机制等更高层面展开讨论。建议先读完一本入门或进阶教程再来读它。
书里的内容现在会不会过时?
英文原版出版于 2015 年,涉及 Backbone 演进、当时工具链的部分确实有年代感;但 mixin、原型继承、eval 与 DSL、解析器、事件循环、错误处理等主题讨论的是语言本身与工程思想,依然适用。
它是某一本讲 JavaScript 的书的中文版吗?
是的,它是 O'Reilly Media 出版的 Beautiful JavaScript: Leading Programmers Explain How They Think 的简体中文版,由中国电力出版社 2017 年引进,杜春晓、司韦韦翻译。台湾地区另有繁体中文版。
一共多少章、多少篇幅?
简体中文版共 14 章,正文约 155 页,版权页标注字数 198 千字,定价 48 元。篇幅不大,适合当作阶段性补充阅读。
这本书的编者是谁?
编者 Anton Kovalyov(安顿·科瓦诺夫)是 JSHint 的创建者、Third-Party JavaScript 的合著者,曾任职于 Yahoo 与 Medium,长期参与 JavaScript 社区的工具与规范建设。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。