你不知道的JavaScript(上卷) 封面

你不知道的JavaScript(上卷)

评分 4.5
字数
27万字
章节数
19
丛书
你不知道的JavaScript
ISBN
9787115385734

标签

内容简介

《你不知道的JavaScript(上卷)》是“你不知道的JavaScript”系列的第一本,对应英文原书 You Don't Know JS: Scope & Closures 与 This & Object Prototypes 两部分内容。全书分为两大部分:第一部分“作用域与闭包”从编译原理入手,讲解引擎、编译器与作用域三者的协作方式,进而展开词法作用域、函数作用域与块作用域、变量提升、闭包与模块等主题,并附动态作用域、块作用域替代方案、this 词法等附录;第二部分“this 与对象原型”系统梳理 this 的绑定规则(默认绑定、隐式绑定、显式绑定、new 绑定及其优先级与例外),随后讨论对象的属性描述符、不变性、[[Get]]/[[Put]]、Getter/Setter 与遍历,再进入“类”的混入机制、[[Prototype]] 原型链、原型继承与行为委托,并附 ES6 class 附录。作者写作的出发点,是反对前端开发者“不求甚解”的倾向:很多 JavaScript 特性因为容易被误用而被开发者列入黑名单,久而久之,这门语言被开发者的使用方式裁剪得残缺而危险。本书不教框架与语法 API,而是带读者回到语言内部的机制,弄清楚每一个“零部件”为什么这样设计。全书篇幅不大但密度很高,例子短小、层层递进,配合大量“小测验”和总结,适合读完一遍再回头精读。本册为该系列上卷,中卷与下卷分别讨论类型与语法、异步与性能。

编辑推荐

如果你写 JavaScript 的年头已经不算短,却仍然会在看到某个 this 的指向、某个闭包里的变量、某段诡异的提升行为时心里一沉,那么这本书正是为你准备的。它不铺陈语法手册,也不追赶框架热点,而是用两百页左右的篇幅,把“作用域—闭包—this—对象—原型”这条主干从底层重新讲一遍:作用域在编译阶段就被确定,闭包是作用域链的自然结果,this 由调用位置而非书写位置决定,原型链才是 JavaScript 真正的继承机制。作者的叙述节奏很好,几乎每个抽象概念都会配一个短小例子,先用反直觉的输出制造疑问,再一层层拆开引擎的行为,最后用小测验让你自己动手验证。很多人读完的感受是:原来过去十几年是“猜”着用这门语言的。图灵程序设计丛书的这个中文版由赵望野、梁杰翻译,术语处理克制、行文通顺,正文与附录的取舍也贴合国内读者的学习路径。对于希望摆脱“能跑就行”、真正建立语言底层模型的开发者,这是性价比极高的一本。

适合谁读

适合

  • 已能写日常业务代码、希望弄清 this 与闭包究竟如何工作的前端开发者
  • 准备前端面试、需要系统梳理作用域与原型链知识体系的人
  • 从其他语言转来、想理解 JavaScript 独特对象模型的后端或全栈程序员
  • 计算机相关专业学生,作为《JavaScript高级程序设计》之后的进阶读物

不适合

  • 完全没有 JavaScript 基础、需要先学语法与 DOM 操作零基础入门者
  • 只想找框架、工程化或组件库实战教程的读者
  • 期待大量完整项目案例、边做边学的读者

阅读建议

  1. 先通读一遍建立整体图景,再对 this 绑定规则与闭包两章逐例手敲验证。
  2. 读每个例子时先遮住输出自己预测结果,再运行对照,差异处就是知识缺口。
  3. 读完上卷可顺次衔接中卷(类型与语法)与下卷(异步与性能),形成完整认知。
  4. 配合浏览器控制台或 Node 环境练习,遇到结论存疑时以实际运行结果为准。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 前言
  2. 第一部分 作用域与闭包
  3. 第1章 作用域是什么(编译原理、理解作用域、作用域嵌套、异常)
  4. 第2章 词法作用域(词法阶段、欺骗词法:eval 与 with)
  5. 第3章 函数作用域与块作用域(隐藏内部实现、匿名与具名、IIFE、with、try/catch、let、const)
  6. 第4章 提升(编译器再度来袭、函数优先)
  7. 第5章 作用域闭包(实质问题、循环与闭包、模块、现代与未来的模块机制)
  8. 附录A 动态作用域
  9. 附录B 块作用域的替代方案
  10. 附录C this 词法
  11. 附录D 致谢
  12. 第二部分 this 与对象原型
  13. 第1章 关于this(为什么要用this、常见误解、this 到底是什么)
  14. 第2章 this 全面解析(调用位置、默认绑定、隐式绑定、显式绑定、new 绑定、优先级、绑定例外、软绑定、this 词法)
  15. 第3章 对象(语法、类型、内容、可计算属性名、属性描述符、不变性、[[Get]] 与 [[Put]]、Getter 与 Setter、存在性、遍历)
  16. 第4章 混合对象“类”(类理论、类的机制、类的继承、多态、多重继承、显式混入与隐式混入)
  17. 第5章 原型([[Prototype]]、原型继承、对象关联)
  18. 第6章 行为委托(面向委托的设计、类与对象、更简洁的设计、内省)
  19. 附录A ES6 中的 class

常见问题

这本书适合零基础学 JavaScript 吗?
不太适合。本书假定读者已有基本的 JavaScript 使用经验,重点讲语言内部机制而非语法入门。零基础读者建议先读《JavaScript高级程序设计》一类入门书,再回来读本书收获更大。
上卷、中卷、下卷分别讲什么?
上卷讲作用域与闭包、this 与对象原型;中卷对应类型与语法;下卷对应异步与性能。三册主题相对独立,可按兴趣选读,但按上、中、下顺序读最顺。
中文版和英文原版内容一致吗?
上卷中文版合并了原书 Scope & Closures 与 This & Object Prototypes 两部分,主体章节与附录基本对应原书结构,个别版式与附录编排有调整,核心内容一致。
书里的示例过时了吗,还值得读吗?
书中讨论的是作用域、闭包、this、原型等语言核心机制,这些机制多年来变化很小,因此主体内容并不过时;涉及模块与 ES6 语法的部分可结合当前规范补充阅读。
读完能显著提升面试表现吗?
对作用域、闭包、this 指向、原型链、继承等高频考点帮助直接而明显,但本书不做面试题汇编,需要自己把书中结论转化为可表述的答案并配合练习。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同一作者

同类高分