Problémy s JavaScript v praxi

Scripter

Re:Problémy s JavaScript v praxi
« Odpověď #150 kdy: 03. 10. 2018, 02:06:43 »
Mimochodem, víte že v JS se může vyhodnocení změnit z true na false, když k jedné straně přičtete nulu?
Co by podle tebe mělo být správným výsledkem {}+0 ?
Výjimka.

To mě také napadlo. Jenže jak tu už někdo psal, filozofií JS je snaha za každou cenu nepadnout. Zda je to dobře, nebo špatně...
Špatně.


eee

Re:Problémy s JavaScript v praxi
« Odpověď #151 kdy: 03. 10. 2018, 05:42:09 »
Mimochodem, víte že v JS se může vyhodnocení změnit z true na false, když k jedné straně přičtete nulu?
Co by podle tebe mělo být správným výsledkem {}+0 ?
Výjimka.

To mě také napadlo. Jenže jak tu už někdo psal, filozofií JS je snaha za každou cenu nepadnout. Zda je to dobře, nebo špatně...
I za cenu chybného chování? Řada chyb s tímto navíc nesouvisí. Zkuste si třeba toto:

{} + 0   // = 0
0 + {}   // = 0[Object]
{} == {} // invalid javascript


To je prostě nelogický  a nesmyslný bordel, nekonzistentní chování, které je korunované tím, že js specifikace připouští na mnoha místech implementační závislost, tudíž v různých prohlížečích může dávat různé výsledky.

borekz

  • ****
  • 493
    • Zobrazit profil
    • E-mail
Re:Problémy s JavaScript v praxi
« Odpověď #152 kdy: 03. 10. 2018, 05:50:53 »
{} == {} // invalid javascript[/tt]
To je prostě nelogický  a nesmyslný bordel, nekonzistentní chování, které je korunované tím, že js specifikace připouští na mnoha místech implementační závislost, tudíž v různých prohlížečích může dávat různé výsledky.
Ano, je to nekonzistentní. V javascript to je validní výraz, ale z nějakého důvodu to není validní jako statement. Stačí uzávorkovat ({}=={}); a je to validní. Naproti tomu výraz 0==0 je validní i jako statement.

Kozel

Re:Problémy s JavaScript v praxi
« Odpověď #153 kdy: 03. 10. 2018, 10:25:47 »

{} + 0   // = 0
0 + {}   // = 0[Object]


To je prostě nelogický  a nesmyslný bordel, nekonzistentní chování.

A pritom ti stacilo tak malo, misto plakani a psani tveho nesmyslu stacilo kouknut manual a pochopit ze operator "+" ma dvoji vyznam a javascript pouziva autocast - vsechno veci ktere pochopi bezne inteligentni jedinec. Kdyz ale nedokazes rozlisit state of art od nekonzistentniho chovani tak se vrat k C.

Scripter

Re:Problémy s JavaScript v praxi
« Odpověď #154 kdy: 03. 10. 2018, 10:38:58 »

{} + 0   // = 0
0 + {}   // = 0[Object]


To je prostě nelogický  a nesmyslný bordel, nekonzistentní chování.

A pritom ti stacilo tak malo, misto plakani a psani tveho nesmyslu stacilo kouknut manual a pochopit ze operator "+" ma dvoji vyznam a javascript pouziva autocast - vsechno veci ktere pochopi bezne inteligentni jedinec. Kdyz ale nedokazes rozlisit state of art od nekonzistentniho chovani tak se vrat k C.
Ty nejsi kozel, ale vůl. JS je nekonzistentní slepenec s neuvěřitelným množstvím WTF momentů.


aaa

Re:Problémy s JavaScript v praxi
« Odpověď #155 kdy: 03. 10. 2018, 10:50:15 »
Kozel má ale pravdu. Nevíte ani, jak v JS fungují operátory, ale řečí máte jak opice. To samé jsem se snažil naznačit panu eee o pár příspěvků výš, ovšem marně. To fakt není céčko.

Re:Problémy s JavaScript v praxi
« Odpověď #156 kdy: 03. 10. 2018, 11:27:59 »
Eee, Scripter či čo si zač, v akomže to jazyku programuješ, že v praxi používaš konštrukcie ako `{} + 0` ?

Hmmm

Re:Problémy s JavaScript v praxi
« Odpověď #157 kdy: 03. 10. 2018, 12:55:14 »
Mimochodem, víte že v JS se může vyhodnocení změnit z true na false, když k jedné straně přičtete nulu?
Co by podle tebe mělo být správným výsledkem {}+0 ?
Výjimka.

To mě také napadlo. Jenže jak tu už někdo psal, filozofií JS je snaha za každou cenu nepadnout. Zda je to dobře, nebo špatně...
I za cenu chybného chování? Řada chyb s tímto navíc nesouvisí. Zkuste si třeba toto:

{} + 0   // = 0
0 + {}   // = 0[Object]
{} == {} // invalid javascript


To je prostě nelogický  a nesmyslný bordel, nekonzistentní chování, které je korunované tím, že js specifikace připouští na mnoha místech implementační závislost, tudíž v různých prohlížečích může dávat různé výsledky.
Programujem vyhradne v JS uz asi 5 rokov a este sa mi nestalo, ze by mi script daval v roznych prehliadacoch rozne vysledky. Ak nepocitam problemy IE.

Toto moze byt problem Javascript v akademickom svete, ale nie v praxi. A ani v akademickom svete to problem nie je, pretoze si staci precitat manual.

eee

Re:Problémy s JavaScript v praxi
« Odpověď #158 kdy: 03. 10. 2018, 12:55:44 »

{} + 0   // = 0
0 + {}   // = 0[Object]


To je prostě nelogický  a nesmyslný bordel, nekonzistentní chování.

A pritom ti stacilo tak malo, misto plakani a psani tveho nesmyslu stacilo kouknut manual a pochopit ze operator "+" ma dvoji vyznam a javascript pouziva autocast - vsechno veci ktere pochopi bezne inteligentni jedinec. Kdyz ale nedokazes rozlisit state of art od nekonzistentniho chovani tak se vrat k C.

To nejsou nesmysly, Kozle, to jsou ukázky důsledků špatného návrhu javascriptu. Pochopit to lze, žít se s tám dá, ale dobré, chytré a krásné to není.


eee

Re:Problémy s JavaScript v praxi
« Odpověď #160 kdy: 03. 10. 2018, 12:56:52 »
Kozel má ale pravdu. Nevíte ani, jak v JS fungují operátory, ale řečí máte jak opice. To samé jsem se snažil naznačit panu eee o pár příspěvků výš, ovšem marně. To fakt není céčko.
Jak jsi přišel na to, že nevím jak v JS fungují operátory?

Re:Problémy s JavaScript v praxi
« Odpověď #161 kdy: 03. 10. 2018, 12:57:21 »

{} + 0   // = 0
0 + {}   // = 0[Object]


To je prostě nelogický  a nesmyslný bordel, nekonzistentní chování.

A pritom ti stacilo tak malo, misto plakani a psani tveho nesmyslu stacilo kouknut manual a pochopit ze operator "+" ma dvoji vyznam a javascript pouziva autocast - vsechno veci ktere pochopi bezne inteligentni jedinec. Kdyz ale nedokazes rozlisit state of art od nekonzistentniho chovani tak se vrat k C.

To nejsou nesmysly, Kozle, to jsou ukázky důsledků špatného návrhu javascriptu. Pochopit to lze, žít se s tám dá, ale dobré, chytré a krásné to není.

Eeeee ... a čo myslíš, prečo to doteraz neopravili. Hm?

Re:Problémy s JavaScript v praxi
« Odpověď #162 kdy: 03. 10. 2018, 13:01:19 »

eee

Re:Problémy s JavaScript v praxi
« Odpověď #163 kdy: 03. 10. 2018, 13:02:57 »
Eee, Scripter či čo si zač, v akomže to jazyku programuješ, že v praxi používaš konštrukcie ako `{} + 0` ?
Já podle potřeby programuji v C, C#, Python, PHP, JS, Lua a když dojde na nejhorší, tak i Java. Nejradši mám Python, když mám na výběr. Pokud jsi to pochopil tak, že chci používat takové konstrukce, tak jsi nepochopil vůbec nic.

eee

Re:Problémy s JavaScript v praxi
« Odpověď #164 kdy: 03. 10. 2018, 13:07:34 »

{} + 0   // = 0
0 + {}   // = 0[Object]


To je prostě nelogický  a nesmyslný bordel, nekonzistentní chování.

A pritom ti stacilo tak malo, misto plakani a psani tveho nesmyslu stacilo kouknut manual a pochopit ze operator "+" ma dvoji vyznam a javascript pouziva autocast - vsechno veci ktere pochopi bezne inteligentni jedinec. Kdyz ale nedokazes rozlisit state of art od nekonzistentniho chovani tak se vrat k C.

To nejsou nesmysly, Kozle, to jsou ukázky důsledků špatného návrhu javascriptu. Pochopit to lze, žít se s tám dá, ale dobré, chytré a krásné to není.

Eeeee ... a čo myslíš, prečo to doteraz neopravili. Hm?
Kdo ví, ale o tom tahle diskuse není, ta je o špatných vlastnostech JS, nikoliv jejich příčinách. Zdá se, že spousta lidí si odmítá připustit, že JS není dobře navržený jazyk. A na mysl se mi vkrádá kacířská myšlenka, že se jedná o lidi, kteří ho v praxi příliš nepoužívají a nebo nic jiného neznají.