Ovaj vodič proučit će razliku između nula i nedefiniran vrijednosti u JavaScript-u. Poznavanje razlike između ove dvije vrijednosti važno je za otklanjanje pogrešaka i stvaranje koda bez grešaka.
Upotrijebite konzolu preglednika da biste slijedili ili isprobali uzorke koda o kojima se govori u ovom vodiču.
Usporedba jednakosti nultih i nedefiniranih vrijednosti
U JavaScriptu, nula je primitivna vrijednost koja se koristi za označavanje namjerne odsutnosti vrijednosti objekta, dok nedefiniran je primitivna vrijednost koja djeluje kao rezervirano mjesto za varijablu kojoj nije dodijeljena vrijednost.
Nula i nedefiniran vrijednosti su jednake u usporedbi pomoću JavaScript jednakosti operatora.
Koristite operator jednakosti (==) za usporedbu ako nula i nedefiniran vrijednosti su jednake u JavaScript-u.
Otvorite konzolu preglednika i unesite sljedeći kod, a zatim pritisnite Unesi.
null == nedefinirano
Izlaz bi vam trebao dati nešto što izgleda ovako, vraćena logička vrijednost od pravi jednostavno znači da su dvije vrijednosti jednake.
Saznajte više: Kako objaviti varijable u JavaScript-u
Stroga usporedba jednakosti
JavaScript također ima operator identiteta (), također poznat kao operator stroge jednakosti uz operator jednakosti (==)
Operator identiteta ide na daljinu provjeravajući je li osnovni tip vrijednosti koje se uspoređuju jednak. To u osnovi znači da, iako su dvije vrijednosti jednake, one možda neće biti identične ili strogo jednake ako su njihovi temeljni tipovi različiti.
Da biste testirali strogu jednakost, upotrijebite znak trostruke jednakosti kao što je prikazano u nastavku.
null nedefinirano
Rezultat gornje naredbe dat će vam logičku vrijednost od lažno, Drugim riječima, dvije vrijednosti nisu identične iako su jednake.
Otkrivanje vrste ništetnog i nedefiniranog
Koristite ugrađenu JavaScript funkciju vrsta() kako bi se saznala osnovna vrsta vrijednosti. Funkcija uzima jedan parametar vrijednosti čiji tip želite pronaći.
Povezano: Ultimativni JavaScript varalica
typeof (null)
Nula vrijednost je tipa objekt kao što možete vidjeti iz donjeg rezultata.
Pokretanje sličnog testa na nedefiniran vrijednost će vam dati rezultat nedefiniran.
vrsta (nedefinirano)
Rad s brojevima
Da biste istražili više razlika, provedite test broja na nula i nedefiniran vrijednosti. Ako je vrijednost broj, to znači da na njemu možemo provoditi numeričke operacije.
Postoje dva glavna načina za testiranje je li vrijednost broj u JavaScript-u.
1. Koristiti isFinite () funkcija - ako je vrijednost koja se testira broj, funkcija se vraća pravi; inače se vraća lažno.
2. Koristiti isNaN () funkcija - ako je vrijednost koja se testira broj, tada se vraća lažno; u suprotnom se vraća pravi.
Bilješka: jeNaN je kratica za "nije broj".
Da bi stvari bile jednostavne, ovaj će vodič koristiti samo isFinite () funkcija za testiranje je li vrijednost broj, ali slobodno isprobajte i isNaN () funkcija. Obje ove funkcije uzimaju kao parametar vrijednost na kojoj želite pokrenuti test broja.
isFinite (null)
Rezultat je pravi, značenje nula je vrijednost tipa broj u JavaScript. Dok, provodeći isti test na nedefiniran vraća se lažno.
isFinite (nedefinirano)
Upišite Prisila
JavaScript je labavo otkucan jezik i zbog toga će prilikom provođenja matematičkih operacija JavaScript automatski pretvoriti rezultat u vrstu koju želi.
Nažalost, ova automatska pretvorba, koja se obično naziva prisilom tipa, može donijeti mnoga iznenađenja.
Pokrenite sljedeću numeričku operaciju nula i nedefiniran u konzoli preglednika.
1 + null
3 * null
1 + nedefinirano
3 * nedefinirano;
Kao što vidite, možete izvršiti neke numeričke operacije na nula vrijednost jer je to broj koji ne sadrži vrijednost. Stoga se to tretira kao nula. Uzmi to na znanje nula nije jednako nula u JavaScript-u, ali se u ovom slučaju nekako tako postupa.
Numeričke operacije na nedefiniran rezultat vrijednosti u vraćanju NaN (Nije broj) vrijednost. Ako se ne postupa pažljivo, mogli biste to doživjeti tijekom izvođenja.
Izbjegavanje runtime bugova
Dobro razumijevanje nula i nedefiniran values je vitalno za izbjegavanje runtime bugova u vašem proizvodnom kodu. Greške povezane s nedefiniran vrijednosti je teško otkloniti i najbolje ih je izbjegavati.
Razmislite o upotrebi Typecripta za jako upisani kôd koji se kompajlira u JavaScript. U TypeScript-u vaš se kod provjerava u vrijeme kompajliranja kako bi se minimalizirale runtime greške u vašem proizvodnom kodu.
- Programiranje
- JavaScript
- Savjeti za kodiranje

Mwiza po zanimanju razvija softver i intenzivno piše o Linuxu i front-end programiranju. Neki od njegovih interesa uključuju povijest, ekonomiju, politiku i arhitekturu poduzeća.
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!
Još jedan korak…!
Potvrdite svoju e-adresu u e-pošti koju smo vam upravo poslali.