Autor | Zpráva | ||
---|---|---|---|
DarkMeni Profil |
#1 · Zasláno: 27. 7. 2011, 09:01:19
Zdravím, i když je název trochu divný, myslim si že otázka je docela jednoduchá, co je podle vás lepší?
V PHP je prej rychlejší === (!==), ale co je rychlejší v javascriptu? (Protože v javascriptu vidim podmínky jen s ==) |
||
Joker Profil |
#2 · Zasláno: 27. 7. 2011, 09:11:08
DarkMeni:
Rychlejší? Vždyť jsou to různé operátory s různým významem, takže „lepší“ je prostě ten, který má v dané situaci smysl. |
||
DarkMeni Profil |
#3 · Zasláno: 27. 7. 2011, 09:23:04
Joker:
„Rychlejší?“ Podle toho co jsem kdysi o něm četl v sekci PHP tak ano. Někdo o něm psal že nepřetypovává hodnotu (nebo tak něco), takže: "7" === 7 // není pravda "7" == 7 //je pravda A tím že ji nepřetypovává nebo co je prej rychlejší, nebo není? Takže když vím že hodnota1 bude mít stejný datový typ jako hodnota2 tak k bude lepší použít === než ==, že? |
||
Witiko Profil |
#4 · Zasláno: 27. 7. 2011, 09:32:02
== je nestriktní porovnání, === pak striktní. === testuje absolutní identitu na základě reference / dat. == dodané argumenty dovede i slabě přetypovat, tzn. 2 == "2" ale 2 !== "2"
Co do rychlosti - i nestriktní porovnání se nejprve pokusí o porovnání striktní. U identických objektů by se proto oba výrazy měly provést stejně rychle (testoval jsem to). Ve chvíli kdy by striktní porovnání navrátilo false začne nestriktní přetypovávat. |
||
DarkMeni Profil |
#5 · Zasláno: 27. 7. 2011, 09:46:52
Aha, díky Witiko.
|
||
Joker Profil |
#6 · Zasláno: 27. 7. 2011, 14:41:24
DarkMeni:
„Podle toho co jsem kdysi o něm četl v sekci PHP tak ano.“ Takhle, já nepolemizuji o tom jestli to je rychlejší, ale připadá mi nesmyslná ta samotná otázka. Třeba mezi < a == nejspíš taky bude nějaký nepatrný rozdíl v rychlosti, ale co z toho? Prostě == a === jsou různé operátory a v konkrétní situaci je jeden vhodnější než druhý. Navíc rozdíl v rychlosti těch operátorů se projeví leda v nějakých extrémních případech, pro které se nejspíš nebude používat PHP ani JS. „Takže když vím že hodnota1 bude mít stejný datový typ jako hodnota2 tak k bude lepší použít === než ==, že?“ Ano, pokud hodnota1 má mít stejnou hodnotu i typ jako hodnota2, je lepší použít ===. |
||
Časová prodleva: 14 let
|
0