IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 21. diel - Striktné operátory a pretypovanie v JavaScripte

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:9.3.2020 10:24

Přiznám se, že jsem byl v šoku, když jsem četl ten nadpis - JavaScript a přetypování.
Ale koukám, že tady se to bere trošku jinak, než v Javě. Z mého pohledu je to pouze jiná forma zápisu podmínky, ale to asi jen proto, protože jsem odkojený Javou a přetypování pro mě znamená něco jiného.
Logiku to má, své kouzlo také, ale pro mě, jako Javistu je to další důvod, proč nemít rád JavaScript:)

Odpovedať
9.3.2020 10:24
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Odpovedá na Lubor Pešek
Neaktivní uživatel:10.3.2020 11:17

Na podmínkách to ale není závislé. Jde prostě o operátory porovnání produkující pravdivostní hodnoty.
Nestriktní verze porovnání provádí typový převod, který sice nefunguje jako explicitní cast v Javě, ale pořád je to přetypování na jiný type.
JavaScript má typesystem dost odlišný od Javy, stejně jako se ten v Javě liší od toho v C++, kde se například ještě dá definovat operátor bool a získat tak ještě větší kontrolu nad podmínkami.
Ultimátně ale jde o typy a i když jsou v JS typy dynamické, pořád jsou to typy a dovolují v závislosti na nějakých pravidlech převody (i když implicitní).

Odpovedať
10.3.2020 11:17
Neaktivní uživatelský účet
Avatar
Lubor Pešek
Člen
Avatar
Odpovedá na Neaktivní uživatel
Lubor Pešek:10.3.2020 12:03

No však já to beru (kdyby to bylo všechno 1:1, nebylo by potřeba víc jazyků).
Proto jsem také psal tu poslední větu, že je to hlavně problém ve mě, protože jsem odkojený Javista.
No a jak by řekl klasik - můžu s tím nesouhlasit, můžu protestovat, ale to je asi tak všechno, co s tím můžu dělat:)

Já prostě nejsem přítelem, aby se úplně všechno zkracovalo, protože to tak jde.
Je sice fajn, že takhle redukuju kód, ale potom to vyvíjej.

Odpovedať
10.3.2020 12:03
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar

Člen
Avatar
Odpovedá na Lubor Pešek
:11.3.2020 13:19

Nemať rád JS lebo je dynamicky typovaný vlastne znamená nemať rád všetky dynamicky typované jazyky, čiže napríklad aj Python. A také prehlásenia od kohokoľvek kto sa pokladá za programátora mi pripadajú ... divné? Či nedostatok vzdelania v oblasti? Je to ako tvrdiť, že Audi A8 W12 Long s automatom je nekvalitné auto, ale to isté Audi s manuálom už je kvalitné auto. Čo ja viem...

 
Odpovedať
11.3.2020 13:19
Avatar
Lubor Pešek
Člen
Avatar
Odpovedá na
Lubor Pešek:11.3.2020 13:35

13 let jsem programoval pouze a jenom v Javě...
To je to samé, jako když někdo programuje celý život strukturovaně, vyvine řadu funkčních projektů a najednou má začít programovat objektově.

Já neříkám, že je to špatné, že je to něco nekvalitiního nebo na to nenadávám.
Myslím si, že základem dobrého programátora je i umět pořádně číst a pochopit myšlenku a pokud nedovedeš pochopit větu:

Proto jsem také psal tu poslední větu, že je to hlavně problém ve mě, protože jsem odkojený Javista

tak mi to přijde ještě divnější.

Tohle nebyl komentář, který by byl nějakým přínosem. Prostě jsem jen napsal svůj subjektivní pocit (okomentoval jsem to ze svého pohledu). Na to mám snad ještě doufám právo. Prostě jsem popsal svůj pohled na to, jaké to je, když někdo dlouho dělá v jednom jazyce a přechází do jiného.

Odpovedať
11.3.2020 13:35
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar

Člen
Avatar
Odpovedá na Lubor Pešek
:11.3.2020 14:51

Ako veď ok - prezentoval si svoj subjektívny názor na JS, ja som prezentoval svoj subjektívny názor na programátora so subjektívnym názorom na JS. A na to snáď mám tiež právo. Či?

Mrzí ma to. Ja len nemám rád podobné "subjektívne názory", lebo nepatria do tejto oblasti, ktorá má byť založená na objektívnej logike, nie na subjektívnych názoroch. Ak to založíme na subjektivite, nevysomárime sa nikdy z toho čo je pravda a čo nie. Lebo napríklad Ti sem viem dať link na článok od ďaleko ťažšieho kalibru na Javu, Java programátora priamo od Sunu, ktorý bol nútený použiť JS a odkedy sa ho naučil, je z neho nadšený. Aj z jeho syntaxu, aj z toho, že je dynamicky typovaný. A kde je potom pravda? Keď už, skôr uverím tomu ťažkému profesionálovi, ako tebe. Či?

 
Odpovedať
11.3.2020 14:51
Avatar
Lubor Pešek
Člen
Avatar
Odpovedá na
Lubor Pešek:11.3.2020 15:02

No vidíš a nám se ve firmě už mnohokrát stalo, že jsme museli javascriptové kódy přepisovat do Javy (převážně kvůli stabilitě).

Přiznám se, že doteď netuším, o co ti jde... Chceš konflikt? to si na to najdi někoho jiného.Sám sem teď nucený se tento jazyk učit (důvody si raději ponechám, protože koukám, že psycholog tvého ražení by mě v podstatě zkritizoval na konci i pro můj celký způsob života, takže ponechme to na úrovni, že mám k tomu pro mě závažné důvody).
Učím se to a porovnávám s rize objektovým jazykem. Ten má svá pravidla, která fungují.Porovnávám to s jazykem, který OOP pochopil tak, že prostě všechno je objekt (včetně funkcí i atributů objektu).

Vidím v tom celkově dvě podstatné výhody oproti Javy, ale řadu nevýhod.
Však počkej sám, až se za pár let budeš učit úplně nový jazyk, který bude založen na jiném principu, než je OOP. Snad se nenajde takový psycholog, jako teď ty, který ti bude kritizovat tvůj názor a okamžitě spekulovat o tom, jaký jsi vlastně programátor;)

Odpovedať
11.3.2020 15:02
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Odpovedá na Lubor Pešek
Neaktivní uživatel:11.3.2020 22:32

Já jsem vůbec nechtěl implikovat, že je v tobě nějaký problém, nebo ve tvém pohledu.

Jen mě napadlo, že bych ti zkusil nabídnout svůj pohled/znalost tématu.

Ne že bych měl k tomu snad nějaký důvod ;-) ale myslím, že by se hodilo říct, že nepovažuju za divný jakýkoliv tvůj názor na dynamicky typované jazyky. I kdybys je skutečně odsuzoval - což tak nevypadá - je to jenom tvoje věc a není nutný, aby měl kdokoliv objektivní nebo na logice založený názory na programovací jazyky. To by bylo kontraproduktivní. Ne všechny jazyky skutečně stojí na tak pevných logických základech jak tu zaznělo :-D to rozhodně ne a naprostá většina z nich si nese opravdu velkou řádku čistě subjektivních rozhodnutí a myšlenek ať už kolem syntaxe nebo typesystemu nebo jinde.

Držím ti palce s tvým questem, kdo ví možná si jednou JS třeba i oblibíš.

Odpovedať
11.3.2020 22:32
Neaktivní uživatelský účet
Avatar
Martin Přikryl:20.11.2020 21:51

if (jazyk)
jazyk = 'en';

by měli být

if (! jazyk)
jazyk = 'en';

 
Odpovedať
20.11.2020 21:51
Avatar
Odpovedá na Martin Přikryl
Jaroslav Drobek:2.5.2022 6:17

👍 Taky jsem se podivil, proč by někoho mělo napadnout if (jazyk).

 
Odpovedať
2.5.2022 6:17
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!