Razlike med Undefined vs Null
V JavaScript so spremenljivke kot daljinski upravljalnik, ki dejansko nadzoruje predmet. Če daljinski upravljalnik ni programiran za nadzor katerega koli od predmetov, ga lahko označite kot Undefined. Če je daljinski upravljalnik programiran, vendar ne naredi nič, ga lahko dodelimo Null. Null je dodeljena vrednost, lahko jo dodelimo spremenljivki kot predstavitev brez vrednosti. Nedefiniran je sam tip, null pa objekt. Torej je Undefined posebna vrsta, medtem ko je Null predmet v JavaScript.
Pod izrezkom kode JavaScript bo rezultat nedefiniran.
var x;
console.log (x); ð nedefinirano |
Če nekdo preveri vrsto null, natisne izhod kot "objekt", kot je prikazano na spodnjem odseku kode JavaScript:
console.log (typeof null);
ð predmet |
Torej, lahko rečemo, da Undefined pomeni spremenljivko, ki je bila deklarirana, vendar vrednost spremenljivke še ni določena. Nedefinirano je tipa „nedefinirano“, kar lahko preverite od spodaj odsek kode JavaScript:
var test;
Console.log (tipof test); ð nedefinirano |
Spremenljivko lahko tudi deklarirate in ji nato dodelite »nedefinirano«, kot je spodaj:
var test = neopredeljen;
Console.log (test); ð nedefinirano |
Nenamenjene spremenljivke inicializira JavaScript s privzeto vrednostjo nedefinirane, medtem ko JavaScript nikoli ne nastavi samodejno na ničelno vrednost, to pa je treba narediti programsko.
Primerjava med nami med Undefined vs Null
Spodaj je zgornjih 8 primerjav med Javascript Undefined vs Null
Ključne razlike med Javascript Undefined vs Null
Oba Undefined vs Null sta priljubljeni izbiri na trgu; pogovorimo se o nekaterih glavnih razlikah med nedefiniranim in null:
- Nedefinirana pomeni, da je bila spremenljivka razglašena, vendar ji še ni bila dodeljena vrednost.
- "Null" je dodeljena vrednost, ki pomeni "no value".
- "Nedoločena" in "nična" sta primitivi.
- »Nedefinirano« je nedefinirano.
- "Null" je tipa tipa.
- JavaScript nikoli ne nastavi vrednosti na "null", programerji ga uporabljajo za prikaz, da "var" nima nobene vrednosti.
- JavaScript nastavi neodpisano spremenljivko s privzeto vrednostjo »nedefinirano«.
- »Undefined« ni veljavna vrednost v JSON (JavaScript Object Notation), medtem ko je »null« veljavna vrednost v JSON.
- Lahko preverite, ali je spremenljivka nedefinirana z uporabo: vrsta spremenljivke === “nedefinirana”
- Način, kako preveriti, ali je spremenljivka nična z uporabo: spremenljivka === null
- Izvajalec enakosti jih bo obravnaval kot enake, medtem ko jih izvajalec identitete ne bo obravnaval kot enake. null === nedefinirano // false null == undefined // true
- Vrednost "null" predstavlja namerno odsotnost katere koli vrednosti predmeta. To je ena od primitivnih vrednosti JavaScript.
- Null se zapiše z dobesedno: "null". To ni identifikator lastnosti globalnega predmeta, kot je lahko "nedefinirano". "Null" daje pomanjkanje identifikacije, pomeni, da spremenljivka kaže na noben predmet.
- "Nedefinirana" je globalna spremenljivka, ki jo JavaScript ustvari med izvajanjem.
- Ko nekdo izvede aritmetično pretvorbo na "null", določena vrednost je 0, je to pretvorbo mogoče preveriti: var v1 = 3 + null; console.log (v1); // 3
- »Nedefinirano« ne izvaja aritmetične pretvorbe, kot »ničelna«, če jo skušamo dodati številki, dobite napako NaN (ne-številka).
Primerjalna tabela Undefined vs Null
Spodaj je seznam točk, opišite primerjavo med Javascript Undefined vs Null
OSNOV primerjave med Undefined vs Null | Nedoločeno | Nič |
Opredelitev | spremenljivka je bila razglašena, vendar ji še ni bila dodeljena vrednost | dodeljena vrednost, ki pomeni "brez vrednosti" |
Vtipkajte | Nedoločeno | Predmet |
JSON | Neveljaven | Velja |
Narava | Spremenljiva spremenljivka, vendar še ni dodeljena | Predstavlja namerno odsotnost vrednosti predmeta |
Preverite | typeof variableName === "nedefinirano" | variableName === null |
Aritmetika | Napaka brez številke (NaN) | obravnavajo kot ničelno vrednost |
Primerjava | Operater za enakost bo vrnil resnico | Operater identitete bo vrnil napačno |
Identifikator | Lahko je identifikator lastnosti globalnega predmeta | Ni identifikator lastnosti globalnega predmeta |
Zaključek - Nedefinirano proti Nullu
Večino časa ljudje napačno razumejo razliko med Undefined vs Null. Če ločitev med Undefined proti Null ostane nejasna, lahko to povzroči težave v nekaterih testnih primerih.
Za spremenljivko lahko rečemo, da je »nedefinirana«, če je razglašena, vendar ji ni bila dana nobena vrednost. Po drugi strani je "null" vrednost, ki jo je mogoče dodeliti spremenljivki in predstavlja "no value". Zato je „nedefinirano“ spremenljiv tip, kjer je „ničelna“ vrednost predmeta.
"Ničelno" velja kot nosilec mesta za nič. Pomeni, da smo namerno dodelili vrednost spremenljivki in s tem prevzeli vrednost nič. Pri preverjanju ničelne ali nedefinirane se je treba zavedati operaterjev enakosti (==) in identitete (===), saj prejšnji izvajajo pretvorbo vrst.
typeof null // predmet vrsta nedefiniranega // nedefinirana null === nedefinirano // false null == nedefinirano // res null == null // res null === null // res ! null // res isNaN (1 + null) // napačno isNaN (1 + nedefinirano) // res |
Torej, ko gre za razliko v vrsti, je "null" objekt z veljavno vrednostjo, ki nima lastnosti, ni mogoče spremeniti in v sistemu ves čas obstaja en primerek. Narava "ničelna" je mogoče preveriti z operaterjem "vrsta". Uporaba tega operaterja bo rezultat dala kot "objekt". Če uporabimo operaterja »vrste« za predmet, ki pripada vsem kriterijem nedefiniranega seznama, bomo prejeli tip predmeta kot »nedefiniran«.
Druga velika razlika med Undefined vs Null lahko sklenemo s pretvorbo v primitivne tipe. Način pretvorbe Undefined v Null v primitivne vrste je ključno področje diferenciacije. Med izvajanjem aritmetične pretvorbe na "null" je določena vrednost enaka nič. Vendar pa "nedefinirano" takšne pretvorbe ne izvaja. Če skušamo številki dodati „nedefinirano“, se prikaže napaka z nešteto številkami.
Uporaba "null" je v resničnem svetu lahko zelo priročna. Na primer - nekateri nimajo srednjega imena. Torej je v tem primeru bolje spremeniti ime spremenljivke v imenu osebe v nulo osebe. Če nekdo v objektu oseba dostopa do spremenljivke srednjega imena in ima vrednost »nedefinirano«. Potem ni mogoče ugotoviti, ali je razvijalci pozabil inicializirati to spremenljivko ali pa ni imel nobene vrednosti. Če je dodeljena kot nična, pomeni, da lahko uporabnik zlahka sklepa, da spremenljivka srednjega imena nima nobene vrednosti.
Če povzamem, imata „ničelna“ in „nedefinirana“ različna pomena. Medtem ko je „null“ posebna ključna beseda, ki označuje odsotnost vrednosti, „undefined“ pomeni „ne obstaja“. Obstajajo situacije, ko pomaga razlikovati "vrednost null" in "no value". Ko pošiljate posodobitve za seznam, "null" lahko pomeni, da to polje zamenjate z "null", nedefinirano pa lahko pomeni "ne dotikaj se". Pri obravnavanju privzetih funkcijskih funkcij: nedefinirana pomeni „uporabi privzeto vrednost“, nula pa „uporabi ničlo“. Če ima Undefined vs Null dve različni stvari v JavaScriptu, je lahko pošteno boleče, če pa je razvijalec JavaScript, mu bo morda všeč.
Priporočeni članek
To je vodilo za največjo razliko med Undefined vs Null. Tukaj razpravljamo tudi o ključnih razlikah Javascript Undefined vs Null z infografiko in primerjalno tabelo. Ogledate si lahko tudi naslednje članke -
- Pojdi proti Java-uporabne razlike
- Django vs WordPress Razlike
- JavaScript v primerjavi s C #
- XML proti HTML - kateri je boljši
- Java Performance vs Python