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:
- Nedefinirano znači da je varijabla proglašena, ali joj još nije dodijeljena vrijednost.
- "Null" je vrijednost dodjele koja znači "no value".
- "Neodređeno" i "null" obojica su primitivi.
- "Nedefinirano" je nedefinirano.
- "Null" je tipa tipa.
- JavaScript nikada ne postavlja vrijednost na "null", programeri ga koriste kako bi pokazali da "var" nema vrijednost.
- JavaScript postavlja nepriznatu varijablu sa zadanom vrijednošću „nedefinirano“.
- "Nedefinirano" nije valjana vrijednost u JSON-u (JavaScript Object Notation), dok je "null" valjana vrijednost u JSON-u.
- Može se provjeriti je li varijabla nedefinirana uporabom: vrsta varijable === “nedefinirana”
- Način provjere je li varijabla null koristeći: varijabla === null
- Operator ravnopravnosti tretirat će ih kao jednake, dok ih operator identiteta neće tretirati kao jednake. null === undefined // false null == undefined // true
- Vrijednost "null" predstavlja namjernu odsutnost bilo koje vrijednosti objekta. To je jedna od primitivnih vrijednosti JavaScript-a.
- 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.
- "Nedefinirana" je globalna varijabla koju JavaScript stvara u vrijeme izvođenja.
- 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
- "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 null | Nedefiniran | nula |
definicija | varijabla je deklarirana, ali joj još nije dodijeljena vrijednost | dodjela vrijednost koja znači "bez vrijednosti" |
Tip | Nedefiniran | Objekt |
JSON | Nevažeći | vrijedi |
Priroda | Deklarirana varijabla, ali još nije dodijeljena | Predstavlja namjerno odsutnost vrijednosti objekta |
Ček | typeof varijablaName === "neodređeno" | varijablaName === nula |
aritmetika | Pogreška bez broja (NaN) | tretira se kao nulta vrijednost |
usporedba | Operator za jednakost vratit će istinu | Operator identiteta vratit će netočno |
identifikator | Može biti identifikator za svojstvo globalnog objekta | Nije 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 -
- Idite protiv Java - korisne razlike
- Django vs WordPress razlike
- JavaScript u odnosu na C #
- XML vs HTML - koji je bolji
- Java Performance vs Python