Autor Zpráva
DarkMeni
Profil
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
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
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
== 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
Aha, díky Witiko.
Joker
Profil
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 ===.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0