Care este diferența dintre Null și Nedefinit în JavaScript?

Care este diferența dintre Null și Nedefinit în JavaScript?

Acest ghid va analiza diferența dintre nul și nedefinit valori în JavaScript. Cunoașterea diferenței dintre aceste două valori este importantă pentru depanare și crearea codului fără erori.





cum găsesc lista de dorințe Amazon a cuiva

Utilizați consola browserului pentru a urmări sau a încerca exemplele de cod discutate în acest ghid.





Compararea egalității valorilor nule și a valorilor nedefinite

În JavaScript, nul este o valoare primitivă care este utilizată pentru a semnifica absența intenționată a unei valori obiect, în timp ce nedefinit este o valoare primitivă care acționează ca substituent pentru o variabilă căreia nu i s-a atribuit o valoare.





Nul și nedefinit valorile sunt egale atunci când sunt comparate folosind operatorul de egalitate JavaScript.

Folosiți operatorul egalitate ( == ) pentru a compara dacă nul și nedefinit valorile sunt egale în JavaScript.



Deschideți consola browserului și introduceți următorul cod, apoi apăsați Introduce.

null == undefined

Ieșirea ar trebui să vă ofere ceva care arată astfel, valoarea booleană returnată a Adevărat înseamnă pur și simplu că cele două valori sunt egale.





Aflați mai multe: Cum să declarați variabile în JavaScript

Compararea strictă a egalității

JavaScript are, de asemenea, un operator de identitate ( === ), cunoscut și ca operatorul strict de egalitate pe lângă operatorul de egalitate ( == )





Operatorul de identitate merge mai departe verificând dacă tipul de bază al valorilor comparate este același. Aceasta înseamnă, în esență, că, deși două valori sunt egale, s-ar putea să nu fie identice sau strict egale dacă tipurile lor de bază sunt diferite.

Pentru a testa egalitatea strictă, utilizați semnul triplu egal ca mai jos.

null === undefined

Rezultatul comenzii de mai sus vă va oferi o valoare booleană de fals , Cu alte cuvinte, cele două valori nu sunt identice, chiar dacă sunt egale.

Aflarea tipului de nul și nedefinit

Utilizați funcția JavaScript încorporată tip de() pentru a afla tipul de bază al unei valori. Funcția ia un singur parametru al valorii al cărui tip doriți să îl găsiți.

Legate de: Foaia de cheat JavaScript finală

typeof(null)

Valoarea nulă este de tip obiect după cum puteți vedea din rezultatul de mai jos.

Rularea unui test similar pe nedefinit valoare vă va oferi un rezultat al nedefinit .

typeof(undefined)

Lucrul cu numerele

Pentru a explora mai multe diferențe, efectuați testul numeric pe nul și nedefinit valori. Dacă o valoare este un număr, implică faptul că putem efectua operații numerice pe acesta.

Există două moduri principale de a testa dacă o valoare este un număr în JavaScript.

1. Folosind isFinite () funcție - dacă valoarea testată este un număr, funcția revine Adevărat ; altfel se întoarce fals .

2. Folosind isNaN () funcție - dacă valoarea testată este un număr, atunci revine fals ; altfel se întoarce Adevărat .

Notă : isNaN este scurt pentru „nu este un număr”.

Pentru a simplifica lucrurile, acest ghid va utiliza numai fișierul isFinite () funcție pentru a testa dacă valoarea este un număr, dar nu ezitați să încercați și isNaN () funcţie. Ambele funcții iau valoarea pe care doriți să rulați testul numeric ca parametru.

isFinite(null)

Rezultatul este Adevărat , sens nul este o valoare de tip număr în JavaScript. Întrucât, efectuarea aceluiași test pe nedefinit se intoarce fals .

isFinite(undefined)

Tastați Coerciția

JavaScript este un limbaj slab tastat și, din această cauză, atunci când efectuează operații matematice JavaScript va converti automat rezultatul într-un tip dorit.

Din păcate, această conversie automată, denumită în mod obișnuit coerciție de tip, poate aduce o mulțime de surprize.

Rulați următoarea operație numerică pe nul și nedefinit în consola browserului.

1 + null 3 * null 1 + undefined 3 * undefined;

După cum puteți vedea, puteți efectua câteva operații numerice pe nul valoare deoarece este un număr care nu are nicio valoare. Prin urmare, este tratat ca un zero. Ia act de asta nul nu este egal cu zero în JavaScript, dar este cumva tratat așa în acest caz.

Operațiile numerice pe nedefinit valoarea rezultă în returnarea NaN (Nu un număr) valoare. Dacă nu este tratat cu atenție, ați putea experimenta acest lucru în timpul rulării.

Evitarea erorilor de execuție

O bună înțelegere a nul și nedefinit valorile sunt vitale pentru a evita erorile în timpul rulării în codul de producție. Bug-uri legate de nedefinit valorile pot fi greu de depanat și sunt cel mai bine evitate.

Luați în considerare utilizarea TypeScript pentru cod puternic tastat care se compilează în JavaScript. În TypeScript, codul dvs. este verificat la compilare, pentru a minimiza erorile de execuție din codul de producție.

Acțiune Acțiune Tweet E-mail Subiecte asemănătoare
  • Programare
  • JavaScript
  • Sfaturi de codare
Despre autor Bun de plecare(36 articole publicate)

Mwiza dezvoltă software de profesie și scrie pe larg pe Linux și programare front-end. Unele dintre interesele sale includ istoria, economia, politica și arhitectura întreprinderii.

Mai multe de la Mwiza Kumwenda

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona