你不懂JS:类型与文法
序
人们曾说,“JavaScript 是唯一一种开发者在学会之前就使用的语言。”
我每次听到这句话都会笑出来,因为对我来说这是真的,而且我怀疑对于许多其他开发者也是。JavaScript,甚至可能还有 CSS 和 HTML,在因特网出现的早期都不是大学中教授的核心计算机语言,所以个人开发很大程度上都是基于开发者的搜索和“看源代码”的能力来将这些基本的 web 语言拼凑在一起。
我还记得我的第一个高中网站项目。它的任务是创建任意类型的网上商店,而我作为一个 James Bond 的粉丝,决定创建一个黄金眼商店。它有一切东西:黄金眼的迷笛主题音乐在背景中播放,一个用 JavaScript 制作的瞄准十字在屏幕上跟踪着鼠标,还有在每次点击时播放一次枪响的音效。Q 本应该会为这个网站中的杰作感到骄傲的。
我说这个故事是因为在那时我确实做了许多开发者今天在做的事情:我在我的项目中拷贝粘贴了大块儿的 JavaScript 代码,而根本不知道究竟发生了什么。像 jQuery 那样的工具包的广泛使用,以它们微不足道的方式,延续了这种不学习核心 JavaScript 的模式。
我不是在贬低 JavaScript 工具包的使用;毕竟,我还是 MooToo,ls JavaScript 团队的一员!但是 JavaScript 工具包如此强大的原因是因为它们的开发者了解基础,和它们的“坑”,并出色地施用了它们。和这些工具包的有用之处一样,了解这门语言的基础依然是极其重要的,而且有了 Kyle Simpson 的 你不懂JS 系列这样的书,没有借口不学习它们。
类型与文法,这个系列的第三部,是学习核心 JavaScript 基础的杰出教材,这些基础是拷贝粘贴和 JavaScript 工具包没有和绝不会教你的。强制转换和它的陷阱,原生类型与构造器,和 JavaScript 基本的全部方面都使用专门的代码示例进行了彻底地讲解。和这个系列的其他书籍一样,Kyle 总是一针见血:没有作秀和文字游戏 —— 这正是我喜爱类型的技术书籍。
享受类型与文法而且不要让它离你的桌子太远!
David Walsh
http://davidwalsh.name, @davidwalshblog
高级 Web 开发者,Mozilla