大厂走一遭!给了三本书
道格拉斯·克罗克福德
图源:crockford.com
道格拉斯最大的成就——用他自己的话说——就是让世人相信,JavaScript这门语言居然还有好的一面!
蝴蝶书出版后大获成功,豆瓣获千人打分9.1分。说它影响了一整代前端人也不为过。
道格拉斯·克罗克福德 ————著
死月(朱凯迪)————译
虽然英文名为How JavaScript Works,但这绝非中规中矩讲JavaScript运行机制的书。
编程语言的重要设计目标之一就是尽可能使其简洁、优雅、逻辑性强,没有各种奇怪的极端情况。然而事实上,JavaScript远没有达到这个目标。随着越来越多的特性加入,每一次新版的发布都会使其变得越来越糟糕。
我们应当尽量待在这门语言干净阳光的一面,这里已经有能让你写出好程序所需的一切了,不要让自己堕入无边黑洞。
寥寥数语,精辟地总结了道格拉斯对JavaScript又爱又恨的纠葛情感。诚然,JavaScript既有阳光面,也有黑暗面。如果你曾走过弯路、踩过深坑,如果你曾无数次在心里骂这门「烂语言」,那就捧起这本书,和道格拉斯一起痛并快乐地用好JavaScript吧!
[
{"编号": 0, "章": "导读"},
{"编号": 1, "章": "命名"},
{"编号": 2, "章": "数值"},
{"编号": 3, "章": "高精度整数"},
{"编号": 4, "章": "高精度浮点数"},
{"编号": 5, "章": "高精度有理数"},
{"编号": 6, "章": "布尔类型"},
{"编号": 7, "章": "数组"},
{"编号": 8, "章": "对象"},
{"编号": 9, "章": "字符串"},
{"编号": 10, "章": "底型"},
{"编号": 11, "章": "语句"},
{"编号": 12, "章": "函数"},
{"编号": 13, "章": "生成器"},
{"编号": 14, "章": "异常"},
{"编号": 15, "章": "程序"},
{"编号": 16, "章": "this"},
{"编号": 17, "章": "非类实例对象"},
{"编号": 18, "章": "尾调用"},
{"编号": 19, "章": "纯度"},
{"编号": 20, "章": "事件化编程"},
{"编号": 21, "章": "日期"},
{"编号": 22, "章": "JSON"},
{"编号": 23, "章": "测试"},
{"编号": 24, "章": "优化"},
{"编号": 25, "章": "转译"},
{"编号": 26, "章": "分词"},
{"编号": 27, "章": "解析"},
{"编号": 28, "章": "代码生成"},
{"编号": 29, "章": "运行时"},
{"编号": 30, "章": "嚯!"},
{"编号": 31, "章": "结语"}
]
二十年真知灼见
未来的终极语言是什么模样
道格拉斯与中国读者隔空对话
他如何看待TypeScript?
他如何看待JavaScript在非前端领域的发展?
怎样才能具备创造一门热门语言的能力?
他是否信仰阿特伍德定律?
……
Wun More Thing
为什么JavaScript(以及大多数编程语言)不允许变量名中存在空格,以及为什么这是早应被打破的规则?
为什么JavaScript不擅长处理小数,尤其是与金钱相关的小数?
为什么你最好永远不要用某些比较运算符,比如==和!=?
为什么1 < 2 < 3 // true,而3 > 2 > 1 // false?
为什么"2" + 1 // "21",而"2" - 1 // 1?
以及……为什么one不应该拼作one,而应该拼作wun?!
总之,这本奇书将带你以全新的视角看待JavaScript这门你以为自己已经十分熟悉的语言。现在就下单,准备好大开眼界吧!