- jest słabe typowanie, co jest powodem wyśmiewania JavaScriptu przez programistów innych języków, oraz może powodować WTFy jeśli ktoś o tym zapomni.
To nie jest powód do wyśmiewania, lecz coś, co po prostu czyni język słabym i niewygodnym, by nie użyć słowa na "ch". Brak możliwości dowiedzenia zgodności typów przez kompilator sprawia, że prosty błąd w kodzie kończy się nie raz godzinami debugowania kodu w runtime.
Kolejną beznadziejną kwestią w JS są te wszystkie automatyczne konwersje (np. przy porównywaniach), które powodują, że nie ma się pełnej kontroli nad kodem i są źródłem kolejnych dziwnych błędów.
Następna rzecz, to nadmiar frameworków i bibliotek do wszystkiego, które są niewydajne, niestabilne i niepewne. Nigdy nie wiadomo, czy twórcy nagle nie przestaną czegoś wspierać, albo nie wpadną na genialny pomysł przepisania od zera. W tym świecie nie stosuje się sprawdzonych rozwiązań, a jedynie podąża za modami. W Jsmopolitan napisali, że tej jesieni modny jest np. React, i tak po prostu musi być - nikt nawet się nie zastanawia, czy to jest dobre czy złe rozwiązanie, czy nadaje się do tego, czy do innego zadania.
JS to nie jest język do pisania, niech go sobie interpretują przeglądarki, skoro nie ma innego wyjścia. Pisać należy w lepszych rozwiązaniach, takich jak TypeScript, w które pozwalają na stosowanie prawdziwych klas, udostępniają modyfikatory dostępu, bardziej intuicyjny this
, i w ogóle generują cały ten JS boilerplate za nas.