Cum se determină dacă variabila este nedefinită sau nulă în JavaScript

Reclame

Subiect: JavaScript / jQueryPrev | Următorul

Răspuns: Utilizați operatorul de egalitate (==)

În JavaScript dacă a fost declarată o variabilă , dar nu i s-a atribuit o valoare, i se atribuie automat valoarea undefined. Prin urmare, dacă încercați să afișați valoarea unei astfel de variabile, va fi afișat cuvântul „nedefinit”. În timp ce null este o valoare de atribuire specială, care poate fi atribuită unei variabile ca reprezentare fără valoare.

În cuvinte simple puteți spune un null valoare înseamnă nicio valoare sau absența unei valori, iar undefined înseamnă o variabilă care a fost declarată, dar căreia nu i s-a atribuit încă o valoare.

Pentru a verifica dacă o variabilă este nedefinită sau nulă puteți utiliza operatorul de egalitate == sau operatorul de egalitate strict === numit operator de identitate). Să aruncăm o privire la următorul exemplu:

Dacă încercați să testați valorile null folosind typeof operator nu va funcționa așa cum era de așteptat, deoarece JavaScript returnează „obiect” pentru typeof null în loc de „nul”.

Acesta este un bug de lungă durată în JavaScript , dar din moment ce o mulțime de coduri de pe web scrise în jurul acestui comportament și, astfel, rezolvarea acestuia ar crea mult mai multe probleme, așa că ideea de a remedia această problemă a fost abandonată de comitetul care proiectează și menține JavaScript.

Notă: undefined nu este un cuvânt cheie rezervat în JavaScript și, prin urmare, este posibil să declare o variabilă cu numele nedefinit. Deci, modul corect de a testa variabila sau proprietatea undefined este folosind operatorul typeof, astfel: if(typeof myVar === "undefined").

Întrebări frecvente legate

Iată câteva întrebări frecvente legate de acest subiect:

  • Cum pentru a verifica dacă o variabilă există sau este definită în JavaScript
  • Cum să verificăm dacă o valoare este sau nu numerică în jQuery
  • Cum să verificăm dacă există o valoare într-o matrice în JavaScript
Reclame

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *