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:
- Defineerimata - muutuja on deklareeritud, kuid sellele pole veel väärtust omistatud.
- „Null” on määramisväärtus, mis tähendab „väärtus puudub”.
- “Määratlemata” ja “null” on mõlemad primitiivid.
- Määratlemata on määratlemata tüüpi.
- „Null” on tüüpi objekt.
- JavaScript ei määranud kunagi väärtuseks null, programmeerijad kasutavad seda selleks, et näidata, et var-il pole väärtust.
- JavaScript määras määramata muutuja vaikimisi väärtusega “määratlemata”.
- „Määratlemata” pole JSON-is (JavaScripti objektide märkimine) kehtiv väärtus, samas kui „null” on JSON-is kehtiv väärtus.
- Muutuja määratlematust saab kontrollida kasutades järgmist: muutuja tüüp === “määratlemata”
- Võimalus kontrollida, kas muutuja on null, kasutades järgmist: muutuja === null
- 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
- Väärtus null tähistab objekti väärtuse tahtlikku puudumist. See on üks JavaScripti ürgväärtusi.
- 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.
- Määratlemata on globaalne muutuja, mille JavaScripti käivitusel loob.
- Kui arvelmeetiline teisendus toimub nullil, siis on väärtus 0, saab seda teisendada: var v1 = 3 + null; console.log (v1); // 3
- “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 alus | Määratlemata | Null |
Definitsioon | muutuja on deklareeritud, kuid sellele pole veel väärtust omistatud | määramisväärtus, mis tähendab, et väärtus puudub |
Tüüp | Määratlemata | Objekt |
JSON | Kehtetu | Kehtiv |
Loodus | Muutuja deklareeritud, kuid veel määramata | Esitage objekti väärtuse tahtlikku puudumist |
Kontrollima | typeof muutujaNimi === “määratlemata” | muutujaNimi === null |
Aritmeetika | Ei-numbri (NaN) viga | käsitletakse nullväärtusena |
Võrdlus | Võrdõiguslikkuse operaator naaseb tõeks | Identiteedi operaator tagastab vale |
Identifier | Võib olla globaalse objekti omaduse identifikaator | Pole 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 -
- Minge vs Java - kasulikud erinevused
- Django vs WordPress erinevused
- JavaScript vs C #
- XML vs HTML - kumb on parem
- Java jõudlus vs Python