如果只能推薦一本 JavaScript 的書,你會推薦哪本?
共 1510字,需瀏覽 4分鐘
·
2022-02-09 09:04
首先,這個問題是有時效性的。講JS語言(包括講Web平臺)的書,再經(jīng)典的書,如果超過4、5年,就一定跟不上形勢了。因此目前排前面的JS忍者、JS精粹這兩本書因為太老,所以一定是不推薦的。
其次,不可能有一本書能適合所有人,要根據(jù)讀者目前的水平和目標來定。比如寫給完全無編程基礎的人的書,和寫給有經(jīng)驗的非JS程序員的書,就大相徑庭。
所以本質上,我是拒絕推薦「一本」JavaScript 的書的。
下面只是談一下我認為可以看的書:
- 阮一峰的《ES6 入門》。阮老師雖然經(jīng)常被詬病在社交媒體上發(fā)布的技術相關評論準確度欠佳,但我認為阮老師這書還是挺好的。這本書最大的優(yōu)點是,是開源的(repo 為 https://github.com/ruanyf/es6tutorial),算是國內開先河之舉,單憑這點就值得贊許。由于開源,任何人都可以給他開 issue 和 PR,因此就算阮老師這書里存在不少缺點,但一直在改進(我有時候也會去評論一些issue)。這本書的缺點是,真的只是入門書,且需要ES5基礎。如果你能把MDN上的JS文檔看一遍,你基本上就不用看這書了。
- getify 的《你不知道的JS》。這個書也是開源的(repo 為 https://github.com/getify/You-Dont-Know-JS),目前作者在寫第二版,所以不建議買第一版,建議等第二版。入門到進階。贊許這本書的人很多了,我就不多說了。我就講一下這個書的幾個小缺點,第一,標題黨 ;第二,深入細節(jié)太多,不適合新手(這是體例決定的,所以其實不能說是缺點);第三,作者有時候會帶一點私貨(且往往是我不贊同的私貨……),讀者需要記得鑒別,必要時可知乎上提問。
- Nicolás Bevacqua的《深入理解JS特性》。這個書2017年的,難度介于前兩本書之間,個人認為是本相當好的入門書(雖然仍然是從ES6開始講,所以需要一點編程基礎),中譯本閱讀體驗也很良好(感謝譯者李松峰老師、冰晶和高峰)。此書原版同樣可以在線閱讀(https://github.com/mjavascript/practical-modern-javascript)。
- Dr. Axel Rauschmayer 的《Exploring JS》系列,大部分內容均可在線閱讀。我個人印象,從技術準確度上說,Rauschmayer可能是最好的,而且不夾帶私貨。缺點,由于詭異原因(出版社和作者失聯(lián)??),沒有中譯本。希望國內好的出版社(比如圖靈)能重新引進。
- 愛民的《JS語言精髓》(綠皮書)。最近剛出第三版。雖然不開源,但也有官方repo(https://github.com/aimingoo/js-green-book-3),提供了書中代碼,并用于提交問題和勘誤。此書氣質和市面上所有其他JS書大相徑庭,優(yōu)缺點都很鮮明,具體見我為該書第三版寫的序。不建議用該書入門(盡管確實有不少人是從該書第一版或第二版入門的)。有一定基礎的,想鉆研語言的人推薦看。
- Douglas Crockford的《How JavaScript Works》。前面說過,DC的經(jīng)典之作《JS精粹》太老了,但2019年他出了本新書,內容是DC一貫的opinioned,但是這樣才好看——所以此書優(yōu)點是opinioned,缺點也是opinioned,需要讀者有鑒賞力和分辨力。該書翻譯難度較高(因為DC經(jīng)常講一些怪話,不知道是諷刺還是微言大義),目前是史上最強P6 @死月絲卡蕾特 在翻譯,祝他好運。我們群里吹水,可以給該書寫評注,集齊三個人,將來出個三家注。
以上。
(如一開始所說,此問題有時效性,可能不定期會更。)
評論
圖片
表情
