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:

  1. Nedefinirana pomeni, da je bila spremenljivka razglašena, vendar ji še ni bila dodeljena vrednost.
  2. "Null" je dodeljena vrednost, ki pomeni "no value".
  3. "Nedoločena" in "nična" sta primitivi.
  4. »Nedefinirano« je nedefinirano.
  5. "Null" je tipa tipa.
  6. JavaScript nikoli ne nastavi vrednosti na "null", programerji ga uporabljajo za prikaz, da "var" nima nobene vrednosti.
  7. JavaScript nastavi neodpisano spremenljivko s privzeto vrednostjo »nedefinirano«.
  8. »Undefined« ni veljavna vrednost v JSON (JavaScript Object Notation), medtem ko je »null« veljavna vrednost v JSON.
  9. Lahko preverite, ali je spremenljivka nedefinirana z uporabo: vrsta spremenljivke === “nedefinirana”
  10. Način, kako preveriti, ali je spremenljivka nična z uporabo: spremenljivka === null
  11. Izvajalec enakosti jih bo obravnaval kot enake, medtem ko jih izvajalec identitete ne bo obravnaval kot enake. null === nedefinirano // false null == undefined // true
  12. Vrednost "null" predstavlja namerno odsotnost katere koli vrednosti predmeta. To je ena od primitivnih vrednosti JavaScript.
  13. 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.
  14. "Nedefinirana" je globalna spremenljivka, ki jo JavaScript ustvari med izvajanjem.
  15. 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
  16. »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 NullNedoločenoNič
Opredelitevspremenljivka je bila razglašena, vendar ji še ni bila dodeljena vrednostdodeljena vrednost, ki pomeni "brez vrednosti"
VtipkajteNedoločenoPredmet
JSONNeveljavenVelja
NaravaSpremenljiva spremenljivka, vendar še ni dodeljenaPredstavlja namerno odsotnost vrednosti predmeta
Preveritetypeof variableName === "nedefinirano"variableName === null
AritmetikaNapaka brez številke (NaN)obravnavajo kot ničelno vrednost
PrimerjavaOperater za enakost bo vrnil resnicoOperater identitete bo vrnil napačno
IdentifikatorLahko je identifikator lastnosti globalnega predmetaNi 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 -

  1. Pojdi proti Java-uporabne razlike
  2. Django vs WordPress Razlike
  3. JavaScript v primerjavi s C #
  4. XML proti HTML - kateri je boljši
  5. Java Performance vs Python