Sledovat

Zdálo se mi, že už javascript dospěl, že už má konečně vlastnosti normálních jazyků. Ty vlastnosti sice přibyly, ale tak nějak podivně.

Třeba existuje metoda pro procházení pole array.forEach(). Jenže se z ní nelze "vybrejknout", neboť bere jako argument funkci, v níž break nemá smysl. Naštěstí lze místo ní použít array.every() a z funkce pak vracet false, což jako break funguje. Ovšem nesmíte zapomenout vracet implicitní true. No budiž. Čili forEach je dobré, ale vlastně trochu nahovno, every trochu nahovnější a rada ze stackoverflow zní: používejte radši klasickou for-loop.

(To mi připomíná, svého času byla na stránce javascript.cz lakonická věta "Javascript je na hovno.")

Další hezká věc je metoda document.querySelectorAll("p"), která vrací všechny elementy na stránce. Jenže je vrací jako NodeList, nad nímž nelze, jak by člověk předpokládal, dělat find. Tedy nefunguje to takhle,

document.querySelectorAll("p").find(p => ...)

ale musí se z toho nejdřív udělat pole a to pak prohledávat,

Array.from(document.querySelectorAll("p")).find(p => ... )

No budiž. Ovšem intuitivní to není a takových věcí je v JS spousta.

Jeden žák se taky pokusil implementovat Sequelize (javascriptové ORM). Myslel jsem si, že to bude jednoduché jako Sequel v Ruby, jenže ouha, pouhá shoda názvů (nebo snaha udělat ORM v JS). Když totiž vidím výsledný kód, tak bych radši dotaz do SQL databáze napsal - v jazyce SQL - protože by to bylo asi o půl kilometru kratší.

Do toho bolest s asynchronním kódem, kdy si člověk musí neustále uvědomovat, že to co je potom se může stát dřív než to co je předtím. Async/await pomáhají, ale pořád je u toho nutné hodně přemýšlet (takže se nakonec ukáže, že asynchronní programování je hype; že když kontext přepíná automat, tak to není o moc pomalejší (a že kdyby šlo opravdu o maximální rychlost a škálovatelnost, tak existují lepší jazyky nežli JS).

A tak si říkám, proč vždycky vyhraje to blbější řešení? Vyvstane mi přitom v hlavě případ VHS vs. Betamax (který jsem mimochodem v sobotu viděl naživo i s originální kazetou z 80. let, ovšem originální porno nám neukázali, prý jen že je zajímavé, že v něm mají všichni kníry).

Vlastně tvrdím blbost. To vůbec nejblbější řešení, které bývalo mohlo zvítězit nad JavaScriptem (i lží a nenávistí), se jmenovalo MS Visual Basic.

· · Web · 0 · 0 · 2
Chcete-li se zúčastnit této konverzace, přihlaste se
Mastodon.1984.cz

Mastodon server 1984.cz a též ocsidf3dyfjimqrjg7smwcjgxtaputeoj7he2qtgox3sy45licgx6iid.onion