Junior
Kas ir mainīgo redzesloka (scope) JavaScript?
sobes.tech AI
Atbilde no AI
Redzes apjoms ir nosaka mainīgo, funkciju un objektu pieejamību noteiktā koda daļā.
JavaScript ir vairāki redzes apjoma tipi:
- Pasaules redzes apjoms (Global Scope): Mainīgie, kas ir deklarēti ārpus jebkuras funkcijas vai bloka, ir pieejami jebkurā koda daļā.
- Funkcijas redzes apjoms (Function Scope): Mainīgie, kas ir deklarēti funkcijas iekšienē (pirms ES6), ir pieejami tikai šajā funkcijā un tās iekšienē esošajās funkcijās.
- Bloka redzes apjoms (Block Scope): Mainīgie, kas ir deklarēti ar
letunconstblokos (piemēram,{}vai ciklos), ir pieejami tikai šajā blokā.
Piemērs:
// Pasaules redzes apjoms
let globalVar = "Es esmu globāls";
function someFunction() {
// Funkcijas redzes apjoms (pirms ES6)
var functionVar = "Es esmu funkcijas iekšienē";
console.log(globalVar); // pieejama globālā mainīgā
if (true) {
// Bloka redzes apjoms (ar let un const)
let blockVar = "Es esmu bloka iekšienē";
console.log(functionVar); // pieejama funkcijas mainīgā
console.log(blockVar); // pieejama bloka mainīgā
}
// console.log(blockVar); // kļūda: blockVar šeit nav pieejama
}
someFunction();
// console.log(functionVar); // kļūda: functionVar šeit nav pieejama
Mainīgo deklarēšanas vārdi un to ietekme uz redzes apjomu:
| Atslēgvārds | Pirms ES6 redzes apjoms | Pēc ES6 redzes apjoms |
|---|---|---|
var |
Funkcionāls | Funkcionāls |
let |
- | Blokveida |
const |
- | Blokveida |
Saprašana par redzes apjomu ir būtiska, lai izvairītos no mainīgo nosaukumu konfliktiem un rakstītu tīru un paredzamu kodu.