Šiame vadove bus nagrinėjamas skirtumas tarp niekinis ir neapibrėžtas reikšmės „JavaScript“. Norint derinti ir sukurti kodą be klaidų, svarbu žinoti šių dviejų reikšmių skirtumą.

Naudokite savo naršyklės konsolę, kad galėtumėte sekti arba išbandyti šiame pavyzdyje aptartus kodų pavyzdžius.

Nulinių ir neapibrėžtų vertybių lygybės palyginimas

„JavaScript“, niekinis yra pirmykštė reikšmė, kuri naudojama žymėti tyčinį objekto vertės nebuvimą, tuo tarpu neapibrėžtas yra primityvi vertė, kuri veikia kaip kintamojo, kuriam nebuvo priskirta reikšmė, vietos rezervavimo ženklas.

Null ir neapibrėžtas vertės yra lygios, lyginant naudojant „JavaScript“ lygybės operatorių.

Naudokite lygybės operatorių (==) palyginti, jei niekinis ir neapibrėžtas „JavaScript“ vertės yra lygios.

Atidarykite naršyklės konsolę ir įveskite šį kodą, tada paspauskite Įveskite.

 null == neapibrėžtas 

Išvestis turėtų suteikti jums kažką panašaus, grąžintą loginę reikšmę tiesa paprasčiausiai reiškia, kad abi vertės yra lygios.

instagram viewer

Sužinokite daugiau: Kaip deklaruoti kintamuosius „JavaScript“

Griežtas lygybės palyginimas

„JavaScript“ taip pat turi tapatybės operatorių (), be lygybės operatoriaus, dar vadinamas griežtos lygybės operatoriumi (==)

Tapatybės operatorius nueina papildomą mylią patikrindamas, ar pagrindinis lyginamų verčių tipas yra tas pats. Tai iš esmės reiškia, kad net jei dvi vertės yra vienodos, jos gali būti ne identiškos ar griežtai vienodos, jei jų pagrindiniai tipai yra skirtingi.

Norėdami patikrinti griežtą lygybę, naudokite trigubą lygybės ženklą, kaip nurodyta toliau.

 null neapibrėžtas 

Aukščiau nurodytos komandos rezultatas suteiks loginę vertę melagingas, Kitaip tariant, šios dvi vertės nėra tapačios, nors ir lygios.

Nulio ir neapibrėžto tipo išsiaiškinimas

Naudokite įmontuotą „JavaScript“ funkciją tipas() norėdami sužinoti pagrindinį vertės tipą. Funkcija paima vieną reikšmės, kurios tipą norite rasti, parametrą.

Susijęs: „Ultimate JavaScript“ apgaulės lapas

 typeof (null) 

Nulinė vertė yra tipo objektas kaip matote iš išvesties žemiau.

Atlikite panašų bandymą neapibrėžtas vertė suteiks jums rezultatą neapibrėžtas.

 typeof (neapibrėžtas) 

Darbas su skaičiais

Norėdami sužinoti daugiau skirtumų, atlikite skaičių testą niekinis ir neapibrėžtas vertybes. Jei reikšmė yra skaičius, tai reiškia, kad mes galime atlikti skaitines operacijas su ja.

Yra du pagrindiniai būdai patikrinti, ar reikšmė yra skaičius „JavaScript“.

1. Naudojant isFinite () funkcija - jei bandoma reikšmė yra skaičius, funkcija grąžinama tiesa; kitaip jis grįžta melagingas.

2. Naudojant isNaN () funkcija - jei bandoma reikšmė yra skaičius, ji grąžinama melagingas; kitaip jis grįžta tiesa.

Pastaba: isNaN yra trumpas „nėra skaičius“.

Kad viskas būtų paprasta, šiame vadove bus naudojamas tik isFinite () funkcija patikrinti, ar reikšmė yra skaičius, bet drąsiai išbandykite ir isNaN () funkcija. Abi šios funkcijos kaip parametrą ima vertę, kurioje norite atlikti skaičių testą.

isFinite (null) 

Rezultatas yra tiesa, reiškia niekinis yra tipo reikšmė numeris „JavaScript“. Tuo pačiu metu atliekant tą patį bandymą neapibrėžtas grįžta melagingas.

isFinite (neapibrėžtas)

Tipas prievarta

„JavaScript“ yra laisvai įvesta kalba, todėl atlikdama matematines operacijas „JavaScript“ automatiškai konvertuos rezultatą į norimą tipą.

Deja, ši automatinė konversija, kuri paprastai vadinama tipo prievarta, gali sukelti daug staigmenų.

Vykdykite šią skaitinę operaciją niekinis ir neapibrėžtas naršyklės konsolėje.

1 + nulis
3 * nulinis
1 + neapibrėžta
3 * neapibrėžtas;

Kaip matote, galite atlikti keletą skaitinių operacijų niekinis vertė, nes tai nėra vertės reikšmė. Todėl tai traktuojama kaip nulis. Įsidėmėkite tai niekinis nėra lygus nulis „JavaScript“, bet šiuo atveju kažkaip taip elgiamasi.

Skaitmeninės operacijos neapibrėžtas vertės rezultatas grąžinant NaN (Ne skaičiaus) reikšmė. Jei nebus elgiamasi atsargiai, tai galite patirti vykdymo metu.

Venkite vykdymo laiko klaidų

Gerai supranti niekinis ir neapibrėžtas reikšmės yra gyvybiškai svarbios norint išvengti vykdymo laiko klaidų jūsų gamybos kode. Klaidos, susijusios su neapibrėžtas vertybes gali būti sunku derinti ir jų geriausia vengti.

Apsvarstykite galimybę naudoti „TypeScript“ tvirto tipo kodui, kuris kaupiamas į „JavaScript“. „TypeScript“ jūsų kodas tikrinamas kompiliavimo metu, kad sumažintumėte vykdymo laiko klaidas jūsų gamybos kode.

El
Susijusios temos
  • Programavimas
  • „JavaScript“
  • Kodavimo patarimai
Apie autorių
Mwiza Kumwenda (Paskelbti 22 straipsniai)

Mwiza kuria programinę įrangą pagal profesiją ir daug rašo apie „Linux“ ir „front-end“ programavimą. Kai kurie jo interesai apima istoriją, ekonomiką, politiką ir įmonės architektūrą.

Daugiau iš Mwiza Kumwenda

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Dar vienas žingsnis…!

Prašome patvirtinti savo el. Pašto adresą el. Laiške, kurį jums ką tik išsiuntėme.

.