Razlike između nedefiniranog i null

U JavaScript-u, varijable su poput daljinskog upravljača koji zapravo kontrolira objekt. Ako daljinski upravljač nije programiran za kontrolu bilo kojeg od objekata, može ga se označiti kao Nedefinirano. S druge strane, ako je daljinski upravljač programiran, ali ne radi ništa, on se može dodijeliti Null-u. Null je vrijednost dodjele, može se dodijeliti varijabli kao prikaz nema vrijednosti. Nedefinirano je vrsta sama, a null je objekt. Dakle, Undefined je posebna vrsta dok je Null objekt u JavaScript-u.

Ispod isječka JavaScript koda izlaz će biti nedefiniran.

var x;

console.log (x);

ð neodređeno

Ako netko provjeri vrstu null, ispisat će izlaz kao "objekt", kako je prikazano u isječku JavaScript koda ispod:

console.log (typeof null);

ð objekt

Dakle, možemo reći da Undefined znači varijablu koja je deklarirana, ali vrijednost varijable još nije definirana. Nedefinirano je tipa "nedefinirano", što se može provjeriti ispod isječka JavaScript koda:

var test;

Console.log (tipof test);

ð neodređeno

Također se može deklarirati varijabla, a zatim joj dodijeliti "nedefinirano" kao što je dolje:

var test = nedefinirano;

Console.log (test);

ð neodređeno

Neprimjerene varijable JavaScript se inicijalizira sa zadanom vrijednošću nedefinirane, dok JavaScript nikada ne postavlja vrijednost na null automatski, to mora biti učinjeno programski.

Usporedba između nedefiniranog i null-a

Ispod je 8 najboljih usporedbi između Javascript Undefined i Null

Ključne razlike između nedefiniranog Javascripta i Null-a

Undefined vs Null popularni su izbori na tržištu; neka nam govori o nekim glavnim razlikama između nedefiniranog u odnosu na null:

  1. Nedefinirano znači da je varijabla proglašena, ali joj još nije dodijeljena vrijednost.
  2. "Null" je vrijednost dodjele koja znači "no value".
  3. "Neodređeno" i "null" obojica su primitivi.
  4. "Nedefinirano" je nedefinirano.
  5. "Null" je tipa tipa.
  6. JavaScript nikada ne postavlja vrijednost na "null", programeri ga koriste kako bi pokazali da "var" nema vrijednost.
  7. JavaScript postavlja nepriznatu varijablu sa zadanom vrijednošću „nedefinirano“.
  8. "Nedefinirano" nije valjana vrijednost u JSON-u (JavaScript Object Notation), dok je "null" valjana vrijednost u JSON-u.
  9. Može se provjeriti je li varijabla nedefinirana uporabom: vrsta varijable === “nedefinirana”
  10. Način provjere je li varijabla null koristeći: varijabla === null
  11. Operator ravnopravnosti tretirat će ih kao jednake, dok ih operator identiteta neće tretirati kao jednake. null === undefined // false null == undefined // true
  12. Vrijednost "null" predstavlja namjernu odsutnost bilo koje vrijednosti objekta. To je jedna od primitivnih vrijednosti JavaScript-a.
  13. Null se piše doslovno: "null". To nije identifikator svojstva globalnog objekta, poput "nedefiniranog" može biti. „Null“ daje nedostatak identifikacije, što znači da varijabla pokazuje na nijedan objekt.
  14. "Nedefinirana" je globalna varijabla koju JavaScript stvara u vrijeme izvođenja.
  15. Kad netko izvrši aritmetičku pretvorbu na "null", vrijednost je određena na 0, ta se pretvorba može provjeriti: var v1 = 3 + null; console.log (v1); // 3
  16. "Nedefinirano" ne provodi aritmetičku pretvorbu kao što je "nula", ako je pokušamo dodati broju, dobit ćete pogrešku NaN (ne-broj).

Tabela usporedbe Nedefinirano i Null

Ispod je popis točaka, opišite usporedbu između Javascript Undefined vs Null

OSNOVA Usporedbe između nedefiniranog i nullNedefinirannula
definicijavarijabla je deklarirana, ali joj još nije dodijeljena vrijednostdodjela vrijednost koja znači "bez vrijednosti"
TipNedefiniranObjekt
JSONNevažećivrijedi
PrirodaDeklarirana varijabla, ali još nije dodijeljenaPredstavlja namjerno odsutnost vrijednosti objekta
Čektypeof varijablaName === "neodređeno"varijablaName === nula
aritmetikaPogreška bez broja (NaN)tretira se kao nulta vrijednost
usporedbaOperator za jednakost vratit će istinuOperator identiteta vratit će netočno
identifikatorMože biti identifikator za svojstvo globalnog objektaNije identifikator za svojstvo globalnog objekta

Zaključak - Nedefinirano vs Null

Većinu ljudi ljudi krivo razumiju razliku između Undefined vs Null-a. Ako razlika između Undefined-a i Null-a ostane nejasna, to može dovesti do problema u određenim testnim slučajevima.

Za varijablu se može reći da je "nedefinirana" ako je proglašena, ali joj nije data vrijednost. S druge strane, "null" je vrijednost koja se može dodijeliti varijabli i predstavlja "no value". Stoga je „nedefinirano“ varijabilna vrsta, pri čemu je „null“ vrijednost objekta.

"Null" se smatra nositeljem mjesta ni za što. To znači da smo namjerno dodijelili vrijednost varijabli i na taj način pretpostavili vrijednost ništa varijabli. Prilikom provjere postojećih i nedefiniranih treba biti svjestan operatora jednakosti (==) i identiteta (===) jer bivši izvršavaju pretvorbu tipa.

typeof null // objekt

vrsta nedefiniranog // nedefinirana

null === neodređeno // false

null == nedefinirano // istina

null == null // istina

null === null // istina

! null // istina

isNaN (1 + null) // lažno

isNaN (1 + nedefinirano) // istina

Dakle, kad je u pitanju razlika u tipu, "null" je objekt s valjanom vrijednošću koja nema svojstva, nije mutabilna i jedna instanca postoji u sustavu cijelo vrijeme. Priroda "null" može se provjeriti uporabom operatera "type". Upotreba ovog operatera će izlaz dati kao "objekt". Ako koristimo operator "vrste" na objektu koji pripada svim kriterijima nedefinirane liste, primit ćemo vrstu objekta kao "nedefiniranu".

Druga velika razlika između Undefined vs Null može se zaključiti konverzijom u primitivne tipove. Način na koji su Undefined vs Null pretvoreni u primitivne tipove ključno je područje diferencijacije. Tijekom izvođenja aritmetičke pretvorbe na "null", vrijednost koja je utvrđena je nula. Međutim, “nedefinirano” nema takvu pretvorbu. Ako pokušamo dodati „nedefiniranu“ brojci, pojavit će se pogreška bez broja.

Upotreba „null“ može biti vrlo korisna u stvarnom scenariju. Na primjer - Neki nemaju srednje ime. Dakle, u ovom je slučaju bolje dodijeliti vrijednost null varijabli srednjeg imena u osobi objekt. Ako netko pristupa varijabli srednjeg imena u osobi objekt i ima vrijednost "nedefinirano". Onda nema načina da se utvrdi da je programer zaboravio inicijalizirati ovu varijablu ili ona nije imala nikakvu vrijednost. Ako je dodijeljena kao nula, to znači da korisnik lako može zaključiti da varijabla srednjeg imena nema nikakvu vrijednost.

Dakle, da zaključimo, "null" i "undefined" imaju različita značenja. Iako je „null“ posebna ključna riječ koja ukazuje na nedostatak vrijednosti, „nedefinirano“ znači „ne postoji“. Postoje situacije kada pomaže razlikovati "vrijednost null" i "no value". Kada šaljete ažuriranja za popis, "null" može značiti, zamijenite ovo polje s "null", a nedefinirano može značiti "ne diraj". Kada se bavite zadanim parametrima funkcije: nedefinirano znači „koristiti zadanu vrijednost”, a null znači „koristiti null”. Imati Undefined vs Null kao dvije različite stvari u JavaScript-u može biti iskreno bolno, međutim, ako je jedan JavaScript programer, to bi se moglo svidjeti.

Preporučeni članak

Ovo je vodič za glavnu razliku između Undefined-a i Null-a. Ovdje također raspravljamo o Javascript Undefined vs Null ključnim razlikama s infografikom i tablicom usporedbe. Također možete pogledati sljedeće članke -

  1. Idite protiv Java - korisne razlike
  2. Django vs WordPress razlike
  3. JavaScript u odnosu na C #
  4. XML vs HTML - koji je bolji
  5. Java Performance vs Python

Kategorija: