> 原文出處:https://github.com/getify/You-Dont-Know-JS/blob/1ed-zh-CN/types%20&%20grammar/README.md#you-dont-know-js-types--grammar
# 序
人們曾說,“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](http://davidwalsh.name/),?[@davidwalshblog](http://twitter.com/davidwalshblog)
高級 Web 開發者,Mozilla