如果只能推荐一本 JavaScript 的书,你会推荐哪本?
共 1510字,需浏览 4分钟
·
2022-02-09 09:04
首先,这个问题是有时效性的。讲JS语言(包括讲Web平台)的书,再经典的书,如果超过4、5年,就一定跟不上形势了。因此目前排前面的JS忍者、JS精粹这两本书因为太老,所以一定是不推荐的。
其次,不可能有一本书能适合所有人,要根据读者目前的水平和目标来定。比如写给完全无编程基础的人的书,和写给有经验的非JS程序员的书,就大相径庭。
所以本质上,我是拒绝推荐「一本」JavaScript 的书的。
下面只是谈一下我认为可以看的书:
- 阮一峰的《ES6 入门》。阮老师虽然经常被诟病在社交媒体上发布的技术相关评论准确度欠佳,但我认为阮老师这书还是挺好的。这本书最大的优点是,是开源的(repo 为 https://github.com/ruanyf/es6tutorial),算是国内开先河之举,单凭这点就值得赞许。由于开源,任何人都可以给他开 issue 和 PR,因此就算阮老师这书里存在不少缺点,但一直在改进(我有时候也会去评论一些issue)。这本书的缺点是,真的只是入门书,且需要ES5基础。如果你能把MDN上的JS文档看一遍,你基本上就不用看这书了。
- getify 的《你不知道的JS》。这个书也是开源的(repo 为 https://github.com/getify/You-Dont-Know-JS),目前作者在写第二版,所以不建议买第一版,建议等第二版。入门到进阶。赞许这本书的人很多了,我就不多说了。我就讲一下这个书的几个小缺点,第一,标题党 ;第二,深入细节太多,不适合新手(这是体例决定的,所以其实不能说是缺点);第三,作者有时候会带一点私货(且往往是我不赞同的私货……),读者需要记得鉴别,必要时可知乎上提问。
- Nicolás Bevacqua的《深入理解JS特性》。这个书2017年的,难度介于前两本书之间,个人认为是本相当好的入门书(虽然仍然是从ES6开始讲,所以需要一点编程基础),中译本阅读体验也很良好(感谢译者李松峰老师、冰晶和高峰)。此书原版同样可以在线阅读(https://github.com/mjavascript/practical-modern-javascript)。
- Dr. Axel Rauschmayer 的《Exploring JS》系列,大部分内容均可在线阅读。我个人印象,从技术准确度上说,Rauschmayer可能是最好的,而且不夹带私货。缺点,由于诡异原因(出版社和作者失联??),没有中译本。希望国内好的出版社(比如图灵)能重新引进。
- 爱民的《JS语言精髓》(绿皮书)。最近刚出第三版。虽然不开源,但也有官方repo(https://github.com/aimingoo/js-green-book-3),提供了书中代码,并用于提交问题和勘误。此书气质和市面上所有其他JS书大相径庭,优缺点都很鲜明,具体见我为该书第三版写的序。不建议用该书入门(尽管确实有不少人是从该书第一版或第二版入门的)。有一定基础的,想钻研语言的人推荐看。
- Douglas Crockford的《How JavaScript Works》。前面说过,DC的经典之作《JS精粹》太老了,但2019年他出了本新书,内容是DC一贯的opinioned,但是这样才好看——所以此书优点是opinioned,缺点也是opinioned,需要读者有鉴赏力和分辨力。该书翻译难度较高(因为DC经常讲一些怪话,不知道是讽刺还是微言大义),目前是史上最强P6 @死月絲卡蕾特 在翻译,祝他好运。我们群里吹水,可以给该书写评注,集齐三个人,将来出个三家注。
以上。
(如一开始所说,此问题有时效性,可能不定期会更。)
评论