JavaScript je ve sve podstate dokonaly skoro od pocatku. Vsechno je objekt, event driven, jednoducha syntax a uspokojiva sada zakladnich knihoven, proste klasicky computational complete scriptovaci jazyk 3.5te generace = udelas v nem vse. Novejsi varianty od ES6+ nebo TS jsou povetsinou sugar syntax nadstavbou nad dokonalym zakladem ale taky pridavaji FP ficury co muzeme nalezt u jinych jazyku (treba iteratory, generatory, nove operatory atd.)
Co mu lze vytknout je v podstate to, ze mnoho odpousti a tam kde by jiny jazyk uz bezmocne rval tak JS se porad este snazi nepadnout. I kdyz je jednoduchy tak neni moc pro zacatecniky, treba operator + ma dvoji vyznam (na kterem je zalozena drtiva vetsina JS vtipku a snazi se autocastnout cokoliv aby nepadnul).
Ta C-like syntax je zaroven zdroj potizi pro prebehlivce z jinych jazyku, protoze si mysli, ze kdyz umi C ci Javu tak daji JS levou zadni a pak rvou nesmysly po forach misto toho aby si koukli manual a naucili se JS pouzivat spravne. Prasarny se daji delat v kazdem jazyku, naucte se ho poradne a nedelejte je, pak bude JS dobry sluha.
Casto se mu vytyka matika ale je to standardni implementace jako u spousty jinych jazyku a komu je to malo ma hafo knihoven pro presnejsi matiku.
Sila JS je taky v tom, ze vzhledem na chudost zabudovanych knihoven vzniklo milion frameworku a nadstaveb takze je z ceho vybirat a nemusite vynalezat kolo. Typicky treba utilitky pro funkcionalni programovani jako underscore nebo lodash.
Suma sumarum JS dnes vladne webu, vyhrava na frontendu (Electron, desktop managery) a pomalu si podmanuje backend (nodejs). Milovnici starych "dobrych" casu a jazykou mohou spkripat zuby, ale je to tak, zitra bude vsechno v JS resp. jeho novejsich iteracich.