I 2008 kom Crockford med boken , som raskt ble en klassiker i JavaScript-miljøer. I boken hevder Crockford at alle programmeringsspråk har sine gode og sine dårlige sider, og for JavaScript sin del deler han språkets forskjellige konsepter inn i de tre kategoriene «vakre», «grusomme» og «ille». I førstnevnte kategori plasserer han det at funksjoner er førsteklasses objekter, hvordan språket har dynamiske objekter med prototypebasert arv, og hvordan array- og objekt-literaler fungerer. Som «grufulle» ting i JavaScript (altså ting man kan unngå når man bruker det) finner man blant annet globale variable, manglende blokk-scope og automatisk innsetting av semikolon på slutten av linjer. I kategorien «ille» (altså ting man unngå når man bruker språket) plasserer Crockford blant annet -operatoren, -fuksjonen og hvordan -konstruksjoner lar eksekvering fortsette med mindre man eksplisitt avbryter flyten.