Autor Zpráva
bobek
Profil *
Ahoj, když mám:
var obj = {};
a napíšu
if (!obj.data.id) {...} else {...}
tak mi to v konzoli zobrazí chybu červeně


ale když napíšu
if (typeof(obj.data) != 'object' || obj.data.id) {...} else {...}

tak se provede kod v else. Je někde specifikováno že se if přestane vyhodnocovat po první hodnotě kde je výsledek známý?
Tomášeek
Profil
bobek:
Ano, pokud je v podmínce více částí oddělených logickým OR, tak se při výskytu prvního true zbylé části podmínky už nevyhodnocují. Je to totiž zbytečné.

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:

Prosím používejte diakritiku a interpunkci.

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

0