Šajā rokasgrāmatā tiks aplūkota atšķirība starp nulle un nenoteikts vērtības JavaScript. Lai atkļūdotu un izveidotu kodu bez kļūdām, ir svarīgi zināt atšķirību starp šīm divām vērtībām.
Izmantojiet pārlūkprogrammas konsoli, lai sekotu līdzi vai izmēģinātu šajā rokasgrāmatā aplūkotos kodu paraugus.
Nullo un nedefinēto vērtību vienlīdzības salīdzināšana
JavaScript valodā nulle ir primitīva vērtība, kas tiek izmantota, lai apzīmētu objekta vērtības apzinātu neesamību, turpretī nenoteikts ir primitīva vērtība, kas darbojas kā viettura rādītājs mainīgajam, kuram nav piešķirta vērtība.
Null un nenoteikts vērtības ir vienādas, salīdzinot ar JavaScript vienlīdzības operatoru.
Izmantojiet vienlīdzības operatoru (==), lai salīdzinātu nulle un nenoteikts vērtības JavaScript ir vienādas.
Atveriet pārlūka konsoli un ievadiet šādu kodu, pēc tam nospiediet Enter.
null == nedefinēts
Rezultātam vajadzētu dot kaut ko tādu, kas izskatās šādi, atgriezto būla vērtību taisnība vienkārši nozīmē, ka abas vērtības ir vienādas.
Uzzināt vairāk: Kā deklarēt mainīgos JavaScript
Stingrs vienlīdzības salīdzinājums
JavaScript ir arī identitātes operators (), ko papildus vienlīdzības operatoram dēvē arī par stingras līdztiesības operatoru (==)
Identitātes operators iet papildu jūdzi, pārbaudot, vai salīdzināmo vērtību pamatā esošais tips ir vienāds. Tas būtībā nozīmē, ka, lai arī divas vērtības ir vienādas, tās var nebūt identiskas vai stingri vienādas, ja to pamatā esošie veidi ir atšķirīgi.
Lai pārbaudītu stingru vienlīdzību, izmantojiet trīskāršo vienādības zīmi, kā norādīts zemāk.
null undefined
Iepriekš minētās komandas rezultāts sniegs jums būla vērtību nepatiesa, Citiem vārdiem sakot, abas vērtības nav identiskas, lai arī tās ir vienādas.
Nulles un nedefinētā veida noskaidrošana
Izmantojiet iebūvēto JavaScript funkciju typeof () lai uzzinātu vērtības pamatā esošo veidu. Funkcija ņem vienu tās vērtības parametru, kuras veidu vēlaties atrast.
Saistīts: Galīgā JavaScript apkrāptu lapa
typeof (null)
Nulles vērtība ir veida objekts kā jūs varat redzēt no izejas zemāk.
Veikt līdzīgu testu nenoteikts vērtība dos jums rezultātu nenoteikts.
typeof (nedefinēts)
Darbs ar numuriem
Lai izpētītu vairāk atšķirību, veiciet skaitļa pārbaudi nulle un nenoteikts vērtības. Ja vērtība ir skaitlis, tas nozīmē, ka mēs ar to varam veikt skaitliskas darbības.
Ir divi galvenie veidi, kā pārbaudīt, vai vērtība JavaScript ir skaitlis.
1. Izmantojot isFinite () funkcija - ja pārbaudāmā vērtība ir skaitlis, funkcija atgriežas taisnība; pretējā gadījumā tas atgriežas nepatiesa.
2. Izmantojot isNaN () funkcija - ja pārbaudāmā vērtība ir skaitlis, tā atgriežas nepatiesa; pretējā gadījumā tas atgriežas taisnība.
Piezīme: irNaN ir saīsinājums no "nav skaitlis".
Lai viss būtu vienkārši, šajā rokasgrāmatā tiks izmantots tikai isFinite () funkciju, lai pārbaudītu, vai vērtība ir skaitlis, bet varat arī izmēģināt isNaN () funkciju. Abas šīs funkcijas kā parametru ņem vērtību, kurai vēlaties izpildīt skaitļu pārbaudi.
isFinite (null)
Rezultāts ir taisnība, nozīme nulle ir tipa vērtība numuru JavaScript. Tā kā, veicot to pašu testu nenoteikts atgriežas nepatiesa.
isFinite (nedefinēts)
Veids Piespiešana
JavaScript ir brīvi ierakstīta valoda, un tāpēc, veicot matemātiskas darbības, JavaScript automātiski pārveidos rezultātu par vēlamo tipu.
Diemžēl šī automātiskā pārveidošana, ko parasti dēvē par tipa piespiešanu, vienlaikus ar to var sagādāt daudz pārsteigumu.
Palaidiet šo skaitlisko darbību nulle un nenoteikts pārlūkprogrammas konsolē.
1 + nulle
3 * nulle
1 + nedefinēts
3 * nedefinēts;
Kā redzat, varat veikt dažas skaitliskas darbības ar nulle vērtība, jo tas ir skaitlis, kuram nav vērtības. Tāpēc pret to izturas kā pret nulli. Ņem to vērā nulle nav vienāds ar nulle JavaScript, bet šajā gadījumā tas kaut kā tiek izturēts.
Skaitliskās operācijas ar nenoteikts vērtības rezultāts, atdodot NaN (Nav skaitļa) vērtība. Ja tas netiek rūpīgi apstrādāts, tas var rasties izpildlaika laikā.
Izvairīšanās no Runtime Bugs
Laba izpratne par nulle un nenoteikts vērtības ir ļoti svarīgas, lai izvairītos no izpildlaika kļūdām ražošanas kodā. Kļūdas, kas saistītas ar nenoteikts vērtības var būt grūti atkļūdot, un no tām labāk izvairīties.
Apsveriet iespēju izmantot TypeScript stingri ievadītam kodam, kas apkopo JavaScript. Programmā TypeScript jūsu kods tiek pārbaudīts kompilēšanas laikā, lai samazinātu izpildlaika kļūdas jūsu ražošanas kodā.
- Programmēšana
- JavaScript
- Kodēšanas padomi
Mwiza pēc profesijas izstrādā programmatūru un plaši raksta par Linux un priekšējo programmēšanu. Dažas viņa intereses ir vēsture, ekonomika, politika un uzņēmumu arhitektūra.
Abonējiet mūsu biļetenu
Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!
Vēl viens solis !!!
Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.