Hva er omfang i JavaScript
I JavaScript er omfanget definert av krøllete parenteser. Den definerer en kodeblokk som må utføres sammen. JavaScript har to typer omfang:
Funksjon-scope: Enhver variabel i JavaScript opprettet i en funksjon ved hjelp av var er funksjonshopet. Synligheten er begrenset til definisjonen av funksjonen, og den kan ikke nås hvor som helst utenfor funksjonen:
funksjon showMessage ()Blokkering: En kodeblokk i JavaScript er definert av krøllete seler. Denne typen omfang vil hjelpe oss å skille mellom de tre metodene for å erklære variabler:
Følgende er et eksempel der vi har erklært variabler med VaR, Let og Const i en IF -blokkering og deretter logget dem til konsollen:
hvis sant)Alle variablene er logget til konsollen uten noen feil da de ble logget fra samme blokk.
Imidlertid, hvis vi prøver å logge dem fra utenfor IF-blokken, vil den under-nevnte feilen vises:
hvis sant)Hvordan bruke VAR for å erklære en variabel i JavaScript
Før ECMASCRIPT 2016 var var den eneste metoden for å erklære en variabel i JavaScript, men den hadde flere problemer knyttet til den, så nye metoder ble introdusert som kunne brukes til å erklære variabler. Vi vil først forstå var Og så snakker vi om disse problemene:
Omfang av var: Variabelt omfang betyr i utgangspunktet hvor variabelen vil være tilgjengelig å bruke. Variabler som er erklært med var Nøkkelord har enten globalt eller lokalt omfang.
Variabler som er erklært utenfor funksjonsblokk ved bruk av var har globalt omfang. Globalt omfang betyr at en variabel er tilgjengelig å bruke hvor som helst i vinduet.
Når variabelen er deklarert i en funksjon, er den funksjonshopet, noe som betyr at den bare kan brukes inne i funksjonen:
For å forstå videre, se på eksemplet nedenfor:
funksjon showMessage ()Her, The beskjed er funksjon scoped slik at den ikke kan nås utenfor funksjonen. Så hvis vi gjør dette:
funksjon showMessage ()Dette vil gi oss en feil som er fordi beskjed er ikke tilgjengelig utenfor funksjonen.
var utenfor en for-loop: Variabelen "Jeg" kan nås fra utsiden av for-loop.
for (var i = 0; i < 5; i++)VAR-variabler kan avklæres og oppdateres på nytt: I JavaScript -variabler erklært med var Nøkkelord kan innhuskes og oppdateres i samme omfang:
funksjon showMessage ()Slik bruker du Let to Delcord en variabel i JavaScript: De la Nøkkelord er nå foretrukket over var for variable erklæringer; Det kommer med noen få forbedringer over var.
La blokkere blokkert: I JavaScript er en kodeblokk innsamling av uttalelser som er avgrenset av et par krøllete parentes . En variabel erklært ved hjelp av la Nøkkelord er bare tilgjengelig for bruk i den blokken og kan ikke nås utenfra:
hvis sant)Hvis vi bruker beskjed Utenfor blokken der den ble definert, vil den returnere en feil. Dette er fordi la variabler er blokkerte.
La utenfor en for-loop: Følgende eksempel som demonstrerer la Variabel utgang ved hjelp av for loop:
for (la i = 0; i < 5; i++)La kan oppdateres, men ikke erklæres på nytt: En variabel erklært med la kan oppdateres innenfor dets omfang akkurat som var, Men i motsetning til var, Det kan ikke omdekkes:
La melding = 'Hei fra Linuxhint';Konsollen er helt tom og returnerer ingen feil. Disse uttalelsene vil gi en feil:
La melding = 'Hei fra Linuxhint';Imidlertid omdefinerer du den samme variabelen i et annet omfang ved bruk av la gir ingen feil:
La melding = 'Hei fra Linuxhint';De la Nøkkelord behandler disse to variablene som forskjellige hvis de er i forskjellige omfang, slik at det ikke returnerer noen feil; Denne funksjonen i la nøkkelord gjør det til et bedre valg enn var. Når du bruker la, Du kan gjenbruke variabelnavn i forskjellige omfang uten å bekymre deg for om du har brukt det variable navnet før.
Hvordan bruke Const for å erklære variabelen i JavaScript
Variablene erklært ved hjelp av const Nøkkelord har konstante verdier. Dette betyr at verdiene deres ikke kan endres/tildeles. Ligner på variablene erklært med la nøkkelord, er variablene erklært med var Nøkkelord er også blokkert spop.
const kan ikke pådraksiseres eller omdisponeres: Variablene erklært med nøkkelordet const kan ikke omdekkes eller tildeles innenfor samme omfang. Så hvis vi har erklært en variabel med Const nøkkelord, kan vi ikke gjøre dette:
const melding = 'Hei fra Linuxhint';Vi vil heller ikke kunne gjøre dette:
const melding = 'Hei fra Linuxhint';Hver variabel som er erklært ved hjelp av const Nøkkelord må initialiseres på tidspunktet for erklæringen.
Denne oppførselen til const Nøkkelord endres på en eller annen måte når det gjelder objekter. Mens objektet erklæres ikke kan oppdateres, kan dens egenskaper endres
Så hvis vi erklærer et objekt med const:
const user =Selv om dette ikke kan gjøres:
bruker =Dette kan gjøres:
bruker.name = "Harry";Dette vil endre verdien av bruker.Navn uten å returnere noen feil.
Endelig gjennomgang
Variabel erklæring | Funksjonscope | Blokkering | Omdefinerbar |
---|---|---|---|
var | ✅ | ❌ | ✅ |
la | ❌ | ✅ | ✅ |
const | ❌ | ✅ | ❌ |
Konklusjon
Det er generelt en god praksis å unngå å bruke var Å erklære variabler i JavaScript fordi funksjonsomfanget er forvirrende og ikke er så åpenbart som blokkomfanget. De la og const Nøkkelord oppfordrer devs til å bruke bedre kodingspraksis. Du bør generelt bruke la for variablene du trenger å tilordne og bruke const nøkkelord for alle andre variabler. Denne artikkelen forklarer alle de tre variable typene med eksempler grundig.