大廠走一遭!給了三本書

道格拉斯·克羅克福德
圖源:crockford.com
道格拉斯最大的成就——用他自己的話說(shuō)——就是讓世人相信,JavaScript這門語(yǔ)言居然還有好的一面!

蝴蝶書出版后大獲成功,豆瓣獲千人打分9.1分。說(shuō)它影響了一整代前端人也不為過(guò)。

道格拉斯·克羅克福德 ————著
死月(朱凱迪)————譯
雖然英文名為How JavaScript Works,但這絕非中規(guī)中矩講JavaScript運(yùn)行機(jī)制的書。
編程語(yǔ)言的重要設(shè)計(jì)目標(biāo)之一就是盡可能使其簡(jiǎn)潔、優(yōu)雅、邏輯性強(qiáng),沒有各種奇怪的極端情況。然而事實(shí)上,JavaScript遠(yuǎn)沒有達(dá)到這個(gè)目標(biāo)。隨著越來(lái)越多的特性加入,每一次新版的發(fā)布都會(huì)使其變得越來(lái)越糟糕。
我們應(yīng)當(dāng)盡量待在這門語(yǔ)言干凈陽(yáng)光的一面,這里已經(jīng)有能讓你寫出好程序所需的一切了,不要讓自己墮入無(wú)邊黑洞。
寥寥數(shù)語(yǔ),精辟地總結(jié)了道格拉斯對(duì)JavaScript又愛又恨的糾葛情感。誠(chéng)然,JavaScript既有陽(yáng)光面,也有黑暗面。如果你曾走過(guò)彎路、踩過(guò)深坑,如果你曾無(wú)數(shù)次在心里罵這門「爛語(yǔ)言」,那就捧起這本書,和道格拉斯一起痛并快樂地用好JavaScript吧!
[{"編號(hào)": 0, "章": "導(dǎo)讀"},{"編號(hào)": 1, "章": "命名"},{"編號(hào)": 2, "章": "數(shù)值"},{"編號(hào)": 3, "章": "高精度整數(shù)"},{"編號(hào)": 4, "章": "高精度浮點(diǎn)數(shù)"},{"編號(hào)": 5, "章": "高精度有理數(shù)"},{"編號(hào)": 6, "章": "布爾類型"},{"編號(hào)": 7, "章": "數(shù)組"},{"編號(hào)": 8, "章": "對(duì)象"},{"編號(hào)": 9, "章": "字符串"},{"編號(hào)": 10, "章": "底型"},{"編號(hào)": 11, "章": "語(yǔ)句"},{"編號(hào)": 12, "章": "函數(shù)"},{"編號(hào)": 13, "章": "生成器"},{"編號(hào)": 14, "章": "異常"},{"編號(hào)": 15, "章": "程序"},{"編號(hào)": 16, "章": "this"},{"編號(hào)": 17, "章": "非類實(shí)例對(duì)象"},{"編號(hào)": 18, "章": "尾調(diào)用"},{"編號(hào)": 19, "章": "純度"},{"編號(hào)": 20, "章": "事件化編程"},{"編號(hào)": 21, "章": "日期"},{"編號(hào)": 22, "章": "JSON"},{"編號(hào)": 23, "章": "測(cè)試"},{"編號(hào)": 24, "章": "優(yōu)化"},{"編號(hào)": 25, "章": "轉(zhuǎn)譯"},{"編號(hào)": 26, "章": "分詞"},{"編號(hào)": 27, "章": "解析"},{"編號(hào)": 28, "章": "代碼生成"},{"編號(hào)": 29, "章": "運(yùn)行時(shí)"},{"編號(hào)": 30, "章": "嚯!"},{"編號(hào)": 31, "章": "結(jié)語(yǔ)"}]
二十年真知灼見
未來(lái)的終極語(yǔ)言是什么模樣
道格拉斯與中國(guó)讀者隔空對(duì)話
他如何看待TypeScript?
他如何看待JavaScript在非前端領(lǐng)域的發(fā)展?
怎樣才能具備創(chuàng)造一門熱門語(yǔ)言的能力?
他是否信仰阿特伍德定律?
……
Wun More Thing
為什么JavaScript(以及大多數(shù)編程語(yǔ)言)不允許變量名中存在空格,以及為什么這是早應(yīng)被打破的規(guī)則?
為什么JavaScript不擅長(zhǎng)處理小數(shù),尤其是與金錢相關(guān)的小數(shù)?
為什么你最好永遠(yuǎn)不要用某些比較運(yùn)算符,比如==和!=?
為什么1 < 2 < 3 // true,而3 > 2 > 1 // false?
為什么"2" + 1 // "21",而"2" - 1 // 1?
以及……為什么one不應(yīng)該拼作one,而應(yīng)該拼作wun?!
總之,這本奇書將帶你以全新的視角看待JavaScript這門你以為自己已經(jīng)十分熟悉的語(yǔ)言。現(xiàn)在就下單,準(zhǔn)備好大開眼界吧!
