Erinevused määratlemata ja nulli vahel

JavaScriptis on muutujad nagu kaugjuhtimispult, mis tegelikult juhib objekti. Kui kaugjuhtimispult ei ole programmeeritud ühegi objekti juhtimiseks, võib selle märgistada kui Undefined. Teisest küljest, kui kaugjuhtimispult on programmeeritud, kuid mitte midagi tegema, saab selle määrata nullile. Null on määramisväärtus, selle saab muutujale omistada kui väärtuseta esitust. Määratlemata on tüüp ise, samas kui null on objekt. Nii et Undefined on eritüüp, samas kui Null on JavaScripti objekt.

Allpool JavaScripti koodilõigu annab väljund määratlemata.

var x;

console.log (x);

ð määratlemata

Kui keegi kontrollib nulli tüüpi, prindib see väljundi objektina, nagu on näidatud allolevas JavaScripti koodilõigus:

console.log (typeof null);

ð objekt

Seega võime öelda, et Määratlemata tähendab deklareeritud muutujat, kuid muutuja väärtus pole veel määratletud. Määratlemata tüüpi on määratlemata, mida saab kontrollida JavaScripti koodilõigu alt:

var test;

Console.log (testi tüüp);

ð määratlemata

Samuti saab muutuja kuulutada ja seejärel määrata sellele määratlematu nagu allpool:

var test = määratlemata;

Console.log (test);

ð määratlemata

Määratlemata muutujad lähtestab JavaScripti vaikimisi väärtusega määratlemata, samas kui JavaScript ei sea kunagi väärtuseks nulli automaatselt, see tuleb teha programmiliselt.

Pea ja pea võrdlus määratlemata vs nulli vahel

Allpool on kaheksa parimat võrdlust Javascripti määratlemata ja nulli vahel

Peamised erinevused Javascripti määratlemata ja nulli vahel

Mõlemad Undefined vs Null on turul populaarsed valikud; arutagem mõnda peamist erinevust määratlemata ja nulli vahel:

  1. Defineerimata - muutuja on deklareeritud, kuid sellele pole veel väärtust omistatud.
  2. „Null” on määramisväärtus, mis tähendab „väärtus puudub”.
  3. “Määratlemata” ja “null” on mõlemad primitiivid.
  4. Määratlemata on määratlemata tüüpi.
  5. „Null” on tüüpi objekt.
  6. JavaScript ei määranud kunagi väärtuseks null, programmeerijad kasutavad seda selleks, et näidata, et var-il pole väärtust.
  7. JavaScript määras määramata muutuja vaikimisi väärtusega “määratlemata”.
  8. „Määratlemata” pole JSON-is (JavaScripti objektide märkimine) kehtiv väärtus, samas kui „null” on JSON-is kehtiv väärtus.
  9. Muutuja määratlematust saab kontrollida kasutades järgmist: muutuja tüüp === “määratlemata”
  10. Võimalus kontrollida, kas muutuja on null, kasutades järgmist: muutuja === null
  11. Võrdõiguslikkuse operaator kohtleb neid võrdsetena, samas kui identiteedi operaator ei käsitle neid võrdsena. null === määratlemata // vale null == määratlemata // tõene
  12. Väärtus null tähistab objekti väärtuse tahtlikku puudumist. See on üks JavaScripti ürgväärtusi.
  13. Null kirjutatakse täht-tähega: “null”. See ei ole globaalse objekti omaduse identifikaator, nagu võib olla määratlemata. „Null” tähendab identifitseerimise puudumist, tähendab, et muutuv punkt ei näita ühtegi objekti.
  14. Määratlemata on globaalne muutuja, mille JavaScripti käivitusel loob.
  15. Kui arvelmeetiline teisendus toimub nullil, siis on väärtus 0, saab seda teisendada: var v1 = 3 + null; console.log (v1); // 3
  16. “Undefined” ei teosta aritmeetilist teisendust nagu “null”. Kui proovime seda numbrile lisada, saate vea NaN (mitte-arv).

Võrdlustabel määratlemata vs null

Allpool on punktide loend, kirjeldage Javascripti määratlemata ja nulli võrdlust

Määratlemata ja nulli võrdluse alusMääratlemataNull
Definitsioonmuutuja on deklareeritud, kuid sellele pole veel väärtust omistatudmääramisväärtus, mis tähendab, et väärtus puudub
TüüpMääratlemataObjekt
JSONKehtetuKehtiv
LoodusMuutuja deklareeritud, kuid veel määramataEsitage objekti väärtuse tahtlikku puudumist
Kontrollimatypeof muutujaNimi === “määratlemata”muutujaNimi === null
AritmeetikaEi-numbri (NaN) vigakäsitletakse nullväärtusena
VõrdlusVõrdõiguslikkuse operaator naaseb tõeksIdentiteedi operaator tagastab vale
IdentifierVõib olla globaalse objekti omaduse identifikaatorPole globaalse objekti atribuudi identifikaator

Järeldus - määratlemata vs null

Enamasti saavad inimesed valesti aru, mis on Undefined vs Null erinevus. Kui erinevus määratlemata ja nulli vahel jääb ebaselgeks, võib see teatud proovijuhtudel probleeme tekitada.

Muutujat võib öelda määratlemata, kui see on deklareeritud, kuid sellele pole mingit väärtust antud. Teisest küljest on „null” väärtus, mille saab muutujale omistada ja mis tähistab väärtust „puudub väärtus”. Seetõttu on defineerimatu muutuja tüüp, kus null on objekti väärtus.

“Null” loetakse kohatuks pidajaks. See tähendab, et oleme muutujale väärtuse tahtlikult määranud ja eeldades seega muutujale mitte millegi väärtust. Null- või määramatuse kontrollimisel tuleb arvestada võrdsuse (==) ja identiteedi (===) operaatoritega, kuna endised teostavad tüübi teisendamist.

typeof null // objekt

määramata tüüp // määratlemata

null === määratlemata // vale

null == määratlemata // tõsi

null == null // tõsi

null === null // tõsi

! null // tõsi

isNaN (1 + null) // vale

isNaN (1 + määratlemata) // true

Niisiis, kui rääkida tüübierinevusest, siis on null objekt, millel on kehtiv väärtus, millel pole atribuute, see pole muudetav ja süsteemis eksisteerib kogu aeg üks eksemplar. "Null" olemust saab kontrollida operaatori "tüüp" abil. Selle operaatori kasutamisel saadakse väljund objektina. Kui kasutame määratlemata loendi kõigi kriteeriumide alla kuuluval objektil operaatori tüüpi, saame objekti tüübi kui määratlemata.

Veel üks suur erinevus määratlemata vs nulli vahel võib järeldada muundamisel primitiivseteks tüüpideks. Eristamise võtmevaldkond on see, kuidas Undefined vs Null teisendatakse primitiivseteks tüüpideks. Kui aritmeetiliselt teisendatakse väärtusele „null”, on määratud väärtus null. Kuid määratlemata on selline muundamine. Kui proovime numbrile lisada määratlematu, saate vea Ei-numbrit.

„Null” kasutamine võib reaalses stsenaariumis olla väga mugav. Näiteks - mõnel inimesel pole keskmist nime. Niisiis, sel juhul on parem omistada objektobjekti keskmisele nimemuutujale väärtus null. Kui keegi kasutab isiklikus objektis keskmist nimemuutujat ja selle väärtus on määratlemata. Siis pole kuidagi võimalik kindlaks teha, kas arendaja unustas selle muutuja initsialiseerida või sellel ei olnud mingit väärtust. Kui see on määratud kui null, tähendab see, et kasutaja saab hõlpsalt järeldada, et keskmisel nimemuutujal pole väärtust.

Kokkuvõtlikult võib öelda, et “null” ja “määratlemata” on erineva tähendusega. Kui „null” on eriline märksõna, mis näitab väärtuse puudumist, siis „määratlemata” tähendab „seda pole olemas“. On olukordi, kus see aitab eristada nullväärtust ja väärtusetut. Loendi värskenduste saatmisel võib „null” tähendada, asendage see väljaga „null” ja määratlemata võib tähendada „ärge puudutage”. Funktsioonide vaikeparameetrite käsitlemisel: määratlemata tähendab „kasuta vaikimisi väärtust” ja null tähendab „kasuta nulli”. Kui JavaScriptis on kahe erineva asjana määratlemata vs Null, võib see olla ausalt valus, aga kui keegi on JavaScripti arendaja, võib see talle meeldida.

Soovitatav artikkel

See on juhend peamiseks erinevuseks Undefined vs Null vahel. Siin käsitleme ka Javascripti Undefined vs Null peamisi erinevusi infograafikaga ja võrdlustabelit. Võite vaadata ka järgmisi artikleid -

  1. Minge vs Java - kasulikud erinevused
  2. Django vs WordPress erinevused
  3. JavaScript vs C #
  4. XML vs HTML - kumb on parem
  5. Java jõudlus vs Python

Kategooria: