Modernus JavaScript naudojant ES6–ES13 (JS pamokos)

Kintamųjų deklaracija JavaScript'e: let ir const paaiškinta

Visi pamokos vaizdo įrašai Šiuolaikiškas JavaScript su ES6–ES13 (JS pamokos)

Šiame vadove nagrinėjame įvairius metodus, kaip deklaruoti kintamuosius JavaScript kalboje, ypač ES6 standarto let ir const raktinius žodžius, palyginti su var, kuris iki ES5 buvo vienintelis būdas kurti kintamuosius. Daugelis kūrėjų, naudodami var, susidūrė su netikėtu elgesiu, kuris atvedė prie klaidų. Ši pamoka padės tau suprasti modernas metodus ir užtikrinti, kad efektyviai deklaruotum ir naudotum kintamuosius.

Pagrindiniai rezultatai

Naujos kintamųjų deklaracijos let ir const siūlo pranašumų dėl sferos, matomumo ir kintamojo naudojimo saugumo. let leidžia naudoti kintamąjį blokų sferoje, tuo tarpu const sukuria nekintamą priskyrimą.

Žingsnis po žingsnio vadovas

Kintamųjų deklaravimas

Norėdami efektyviai dirbti su kintamaisiais JavaScript, pirmiausia išnagrinėsime kintamųjų deklaravimą naudojant var, let ir const. Pradėkime nuo main.js failo, kuris yra įtrauktas į tavo HTML dokumentą.

Kintamojo deklaracija JavaScript: let ir const paaiškinta

Čia mes naudosime raktinį žodį var, kad deklaruotume kintamąjį. Sukurkime kintamąjį su pavadinimu W ir priskirkime inicialinę vertę.

var elgesys

Tipiškas var elgesys yra tai, kad kintamasis matomas net ir tada, kai tu jį inicijuoji vėliau kode. Patikrinkime tai:

Aš įdėsiu konsolės išėjimą prieš inicializavimą C. Tikėk rezultatu, kai nustatysiu kintamąjį C į 0. Išėjime turėtų pasirodyti undefined, nes vertė nustatoma tik po priskyrimo.

let įvedimas

Dabar pažvelkime į let. Norėdami parodyti skirtumą, pakeiskime var į let ir inicijuokime kintamąjį C iškart su let C = 0.

Jei bandysiu naudoti C prieš priskyrimą, gausiu klaidos pranešimą, kad prieina prie neinicijuoto kintamojo. Šis elgesys užtikrina, kad visada gausi klaidą, kai bandysi pasiekti neapibrėžtą kintamąjį.

Kintamųjų deklaravimas JavaScript: let ir const paaiškinti

Blokų sfera su let

Dar vienas let pranašumas yra galimybė deklaruoti kintamąjį blokų sferoje. Naudokime if-теирimą:

Jei sukursiu let C = -1 if bloke, šis kintamasis bus matomas tik šioje blokų sferoje. Jei bandysiu naudoti C už bloką, gausiu klaidą.

Kintamųjų deklaravimas JavaScript: let ir const paaiškinta

const naudojimas

Tolesnis žingsnis yra const naudojimas. Jei vietoj let naudočiau const, sukurtų nekintamą kintamąjį, kurio nebegalima keisti.

Jei bandysiu vėl priskirti C po priskyrimo const C = 0, man bus pasakyta, kad negaliu priskirti naujos vertės nekintamam kintamajam.

Nekintami objektai su const

Naudojant const, kad deklaruoti objektą, pats objektas gali būti keičiamas, bet ne nuoroda į jį. Aš galiu pridėti elementų prie objekto be jokių problemų.

Geriausios praktikų rekomendacijos naudojant let ir const

Remdamasis savo patirtimi, rekomenduoju standartiniu atveju naudoti const, išskyrus atvejus, kai esi tikras, kad vėliau kintamojo vertė turi būti keičiamas. Ši praktika suteikia geresnį skaitomumą ir priežiūrą kodui.

Naudok let, kai reikia keisti vertę blokų sferoje. Pavyzdys gali būti skaitiklio kintamasis cikle.

Suma – Kintamųjų deklaravimas JavaScript: let ir const vs var

Apibendrinant, mes išnagrinėjome skirtumus tarp var, let ir const. let ir const siūlo esminius patobulinimus dėl sferos ir kintamųjų saugumo. Tuo tarpu var yra globalus arba funkcijos lokalus, let ir const užtikrina matomumą blokų sferoje. Be to, const užtikrina priskyrimo nekintamumą, todėl sumažėja klaidų ir netikėto elgesio tikimybė kode.

Dažnai užduodami klausimai

Kaip deklaruoti kintamąjį JavaScript?Tu gali deklaruoti kintamąjį JavaScript naudodamas raktinius žodžius var, let ar const.

Koks skirtumas tarp let ir var?let leidžia deklaruoti kintamuosius, kurie matomi tik blokų sferoje, tuo tarpu var yra matomas globaliai.

Kada turėčiau naudoti const?const turėtų būti naudojamas, kai esi tikras, kad kintamojo vertė programos vykdymo metu neturėtų būti keičiama.

Kas nutiks, jei bandysiu priskirti naują vertę konstantai?Tu gausi klaidą, nes const kintamasis negali būti keičiamas.

Ar galiu keisti objektus su const?Taip, tu gali keisti objekto, kuris buvo deklaruotas su const, savybes, tačiau negali keisti nuorodos į patį objektą.