Portál AbcLinuxu, 14. května 2025 01:30

Dotaz: jak detekovat nezadanou hodnotu v javascriptu

7.2.2016 09:52 Petr
jak detekovat nezadanou hodnotu v javascriptu
Přečteno: 239×
Odpovědět | Admin
Ahoj, když koukám do zdojových kódu střídají se tyto dvě syntaxe, obě ale podle mě dělají to samé, vysvětlí mi někdo rozdíl mezi tím zda použiji typeof nebo ne? Díky
var fc = function(x){
    console.log(x === undefined);
    console.log(typeof x === 'undefined');
}
fc();
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.2.2016 11:13 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: jak detekovat nezadanou hodnotu v javascriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Řádek s typeof funguje, ten předchozí vyhazuje výjimku.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
7.2.2016 11:20 Filip Jirsák
Rozbalit Rozbalit vše Re: jak detekovat nezadanou hodnotu v javascriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Když to použijete takhle ve funkci, x nemá hodnotu, ale existuje. Když použijete jenom takovýhle kód:
console.log(x === undefined);
console.log(typeof x === 'undefined');
x vůbec neexistuje a první řádek vyhodí výjimku, druhý vrátí true.
7.2.2016 13:09 chrono
Rozbalit Rozbalit vše Re: jak detekovat nezadanou hodnotu v javascriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ďalší z dôvodov (okrem toho, že to typeof sa dá použiť aj na nedefinovanú premennú) je to, že pred ECMAScript 5 bolo možné obsah tej premennej undefined zmeniť (napr. omylom, ak sa namiesto == alebo === použilo iba =), takže to porovnávanie pomocou typeof bolo bezpečnejšie.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.