Kaasaegne JavaScript alates ES6 kuni ES13 (JS-i õpetus)

Muutujate deklareerimine JavaScriptis: let ja const selgitatud

Kõik õpetuse videod Kaasaegne JavaScript alates ES6 kuni ES13 (JS õpetus)

Siin õpetuses käsitleme erinevaid meetodeid muutujate deklareerimiseks JavaScriptis, eriti ES6 standardi let ja const märksõnu võrreldes var-iga, mis kuni ES5 oli ainus võimalus muutujaid luua. Paljud arendajad on var-i kasutamisel kokku puutunud ootamatute käitumistega, mis on põhjustanud vigu. See õppetund aitab sul mõista kaasaegseid meetodeid ning tagada, et deklareerid ja kasutad muutujaid tõhusalt.

Olulisemad tähelepanekud

Uued muutuja deklareerimised let ja const pakuvad eeliseid seoses mahuga, nähtavuse ja muutuja kasutamise turvalisusega. let võimaldab muutuja kasutamist plokimahu sees, samas kui const loob muutumatu seose.

Samm-sammult juhend

Muutujate deklareerimine

Et töötada muutujaid efektiivselt JavaScriptis, uurime kõigepealt muutujaid deklareerimist kasutades var, let ja const. Alustame failist main.js, mis on sinu HTML dokumendis seotud.

Muutuja deklareerimine JavaScriptis: let ja const selgitatud

Siin kasutame märksõna var, et deklareerida muutuja. Loome muutuja nimega W ja määrame algväärtuse.

var käitumine

Typiline käitumine var puhul on see, et muutuja on nähtav isegi siis, kui sa alustad selle initsialiseerimist hiljem koodis. Proovime seda testida:

Ma lisan konsooliväljundi C enne initsialiseerimist. Oota tulemust, kui seadan muutuja C väärtuseks 0. Väljundis peaks ilmuma undefined, kuna väärtus määratakse alles pärast määramisrida.

let sisseviimine

Nüüd vaatame let. Erinevuse näitamiseks asenda var lettiga ja initsialiseeri muutuja C kohe let C = 0.

Kui üritan kasutada C-d enne määramist, saan vea teate, et pääsen juurde initsialiseerimata muutuja külge. See käitumine tagab, et saad alati vea, kui üritad pääseda juurde määramata muutuja külge.

Muutuja deklareerimine JavaScriptis: let ja const seletatud

Plokimahu let

Teine let eelis on võimalus deklareerida muutuja plokimahu sees. Kasutame seda jaoks if-lause:

Kui loon let C = -1 if-ploki sees, on see muutuja nähtav ainult selle plokimahu sees. Kui üritan kasutada C-d ploki väljas, saan vea.

Muutuja deklareerimine JavaScriptis: let ja const selgitatud

const kasutamine

Järgmine samm on const kasutamine. Kui ma kasutaksin const-i let-i asemel, looksin ma pideva muutuja, mida ei saa enam muuta.

Kui üritan C-le pärast määramist const C = 0 uuesti väärtust anda, näitan ma, et ma ei saa pidevale muutuja uue väärtuse määrata.

Muudatamatud objektid const abil

Kui me kasutame const-i objekti deklareerimiseks, saab objekti ise jätkuvalt muuta, kuid mitte referentsi. Ma võin objekti juurde elemente lisada, ilma et tekiks probleeme.

Parimad praktikad let-i ja const-i kasutamiseks

Tuginedes oma kogemusele, soovitan vaikimisi kasutada const-i, kui sa ei ole kindel, et muutuja väärtust tuleb hiljem muuta. See praktika viib paremini loetava ja hooldatava koodini.

Kasutage let-i, kui on vajalik muuta väärtust plokimahu sees. Näiteks võib see olla loendaja muutuja tsüklis.

Kokkuvõte – Muutujate deklareerimine JavaScriptis: let ja const versus var

Kokkuvõttes oleme uurinud erinevusi var, let ja const vahel. let ja const pakuvad olulisi parendusi seoses mahu ja muutuja turvalisusega. Kui var on globaalne või funktsioonilokaalne, siis let ja const tagavad nähtavuse plokimahu sees. Lisaks tagab const määramise muutumatuse, vähendades vigu ja ootamatut käitumist koodis.

Korduma kippuvad küsimused

Kuidas deklareerida muutuja JavaScriptis?Sa saad JavaScriptis deklareerida muutuja märksõnadega var, let või const.

Milline erinevus on let ja var vahel?let võimaldab deklareerida muutujaid, mis on nähtavad ainult plokimahu sees, samas kui var on globaalset nähtav.

Millal peaksin kasutama const-i?const-i tuleks kasutada, kui oled kindel, et muutuja väärtust ei tohi programmi käivitamise jooksul muuta.

Mis juhtub, kui üritan konstanti uuesti määrata?Sa saad vea, kuna const-muutujaid ei saa muuta.

Kas ma saan objekte const-iga muuta?Jah, sa saad muuta objekti omadusi, mis on deklareeritud const-iga, kuid mitte viidatud objekti ennast.