该书是JavaScript经典著作,属进阶读物,有助于理解JS语言中的一些本质特性。然而由于作者写此书时(2007年前后)ECMAScript标准的第3版(简称ES3)正大行其道,ES5尚在“挣扎”中(2009年末发布),书中的内容皆以ES3标准来写。
所以若干年后的今天再看,书中一些内容就有些不妥,甚至是错误(以ES5、ES6标准看),容易给不知情的读者造成困扰。下面罗列了一些我在阅读的时候发现的问题:
1. 第20页第1行:根据最新的ES6标准,JavaScript中的简单数据类型有7种:Number,String,Boolean,Object,Null,Undefined,Symbol。其中,新增了Symbol类型;
2. 第62页第2行:通过Object.create(arrayArg)方法创建的对象,除继承了原型arrayArg中的值和方法外,同样也继承了其length属性;
3. 第70页末和71页初:用正则表达式字面量创建的RegExp对象并非共享同一个单例,在ES5中规定每执行到一个字面量创建的正则表达式便会创建一个新的对象;
4. 第91页正中部分:string.search方法不仅可以接受一个RegExp对象,也可以接受一个字符串;
5. 第103页中关于保留字的几个例子:比如作者说“object = {case: value};”是非法的语句,因为“case”是关键字故无法直接作为对象的属性名,然而我在浏览器中测试却是合法的;
6. 第104页中关于parseInt: ES5中已经废除了“如果第1个字符是0则按照八进制来解析”的语法;
......
古人说:尽信书则不如无书。读书的时候,读者也应该有自己的思考。诚然,语言都是在不断发展的,ES5、ES6与ES3存在很多类似上文的语法差别,我的目的也不仅仅是罗列一下这样的差异。书中存在错误也属正常,更何况是这种因语言API变更而导致的‘错误‘。这是一本JavaScript的经典书籍(作者也是大牛),读者众多,影响广大,如果读者在阅读的时候不注意所存在的这些问题,就有可能会在实践中造成困扰,甚至是给以后的工作埋下祸根。在如今的互联网大潮中,程序员不得不面对的一个问题就是:编程语言还有实践中所使用的技术都在不断更新,只有保持不断学习才有可能不被大浪湮没!
胡诌乱拼,不喜勿喷~~欢迎交流
此去经年,那些语言,敌不过流年——记书中的一些‘错误’
《JavaScript语言精粹》热门书评
-
从总结中学习
33有用 2无用 belltoy 2009-08-07
原文链接:http://blog.belltoy.net/learning-from-summarize.html这本书的书名叫 JavaScript: The Good Parts,内容共 150 页左右。原本以为这么薄的书直接在书店看完就好。但当我在书店花了大约半小时时间快速看了一遍之后我觉得它...
-
简约的 Javascript 语法书
21有用 1无用 小海 2010-01-14
在使用 Javascript 语言十几年后,回过头来看一本关于它的语法书,还能了解到不少之前没有关注到的细节,并加深对很多概念的认识,不能不佩服 Douglas Crockford 的功力。 就如其“最被低...
-
三部曲
13有用 1无用 焦靖 2009-08-06
第一本书 :JavaScript高级程序设计第二本书:ppk 谈 JavaScript这是第三本...
-
也许是看的太晚了?
10有用 0无用 Jan 2011-11-07
久闻大名的书,读完之后并没有预想的那种感觉。也许是因为书中的很多观点处处通用,即使你没有写过js, 也会从其他语言的普遍做法中见识到。The Definitive Guide今年又出了新版,非常有可读性,两相对比之下不免让人感觉没那么棒。但这绝对是一本很奇特的书,两个地方:1. 印象中其他语言没有对...
-
从看JavaScript大牛作品开始
8有用 1无用 37 2009-03-31
本书的作者Douglas Crockford是JavaScript开发社区最知名的权威,JavaScript的发明人Brendan Eich说他是“Yoda of lambda programming and JavaScript(lambda编程和JavaScript的精神领袖)”。他不仅仅给我们...
书名: JavaScript语言精粹
作者: 道格拉斯·克罗克福德
出版社: 电子工业出版社
原作名: JavaScript:The Good Parts
副标题: 修订版
译者: 赵泽欣 | 鄢学鹍
出版年: 2012-9-1
页数: 155
定价: 49.00元
装帧: 平装
丛书: 博文视点O'reilly系列
ISBN: 9787121177408