Director JavaScript typeof
sau, de multe ori, vin și doar:
P.S. Doar în cazul în care utilizați (var) este imposibilă, deoarece accesul la o variabila nedefinita va cauza o eroare. Dar un apel la proprietățile lipsă ale obiectului globale fereastră returnează numai nedefinită
În plus, operatorul typeof este utilizat pentru polimorfism. De exemplu, următoarea funcție primește un nod DOM sau nod ID-ul, și, în ambele cazuri, se ascunde corect nod.
Cred că nu merită să scrie despre. Aici este un exemplu în cazul în care această metodă nu funcționează:
Nimeni în dreptul lor de vedere nu ar trece peste nedefinită în orice altceva.
Cred că bunul simț nu este necesar să se bazeze, prin urmare, un test de încredere este de a verifica în utilizarea typeof.
Desigur, adversarul. La urma urmei, în cele mai multe cazuri, folosesc biblioteci terțe părți.
în cazul în care (window.var! == nedefinită)
Cum atunci explicați rău. În timp ce în altă parte am găsit de neînțeles.
Operatorul typeof returnează un șir ce conține informații despre tipul de operand. Ea are forma:
typeof expr sau typeof (expr)
unde expr - orice expresie. Valoarea returnată poate fi una dintre cele șase rânduri: „număr“ (număr), „string“ (string), (valoare logică) „boolean“, „obiect“ (obiect), „funcție“ (funcția) sau „nedefinit“ (nedefinită valoare). exemple:
size var = 1;
forma var = "rotund";
var astăzi = new Date ();
typeof (dimensiune); // întoarce „număr“
typeof formă; // returnează "string"
typeof astăzi; // returnează „obiect“
if (typeof (var) == "nedefinit")
în cazul în care (window.var! == nedefinită)
sau, de multe ori, vin și doar:
În general, în funcție de încărcătura semantică, verificarea existenței unei variabile în obiect variabilă, sau că această variabilă nedefinită, poate fi efectuată fie prin:
sau (în zona globală) de către un operator în:
Din nou, verificați cu typeof vă permite să verificați disponibilitatea și variabilă într-un context imbricată (de exemplu, funcții), care nu se poate face cu sau window.var window.var! == nedefinită. Mai mult decât atât, în penultimul eveniment, un obiect poate fi setat la fals. se schimbă complet sensul de verificare.
Prin urmare, typeof este utilizat în prezent în ES moderne.
Yt este obținut așa cum a fost anunțată înainte de acest test. Deoarece nu există nici o eroare. Cu toate că nu s-ar face acest lucru, pentru că nu este clar și ar putea cauza stocurilor.
Mai mult decât atât, această caracteristică a limbajului este capcane neplăcute. De exemplu, în cazul în care partea de sus a tratamentelor încercați să utilizați o variabilă globală
și apoi la partea de jos a acestei aceleiași proceduri, să declare o variabilă locală
Obținem că cinci ați atribuit anterior la o variabilă locală, nu cea globală. aceeași variabilă globală, în același timp, acesta devine indisponibil în întreaga procedură. Pentru că, de exemplu:
Este de fapt:
în general, vă pot declara toate variabilele locale în partea de jos, dacă se dorește, în același timp, ele devin disponibile, așa că, dacă le declara la partea de sus. Acest lucru nu, în nici un caz nu ar trebui să fie considerată o recomandare. Dimpotrivă, aș recomanda ca astfel să fie evitate.
Și, în final, de exemplu, complex:
În acest caz, utilizați typeof nu ajută, va da aceeași eroare, datorită faptului că config nu a fost definit.
Vedem acest lucru:
Sensul acestui cod este că trebuie să verificați dacă există un (obiect părinte) principal, și apoi verificați proprietățile atașate.
De fapt, toate acestea sunt necesare pentru a se asigura că codul nostru nu este returnat o eroare. Acest cod și evită eroarea.
În cazul în care este determinată proprietatea, atunci totul va fi bine, de exemplu: