Junior
Mis on muutujate ulatus (scope) JavaScriptis?
sobes.tech AI
Vastus AI-lt
Mõõt määrab muutujate, funktsioonide ja objektide kättesaadavuse kindlas koodiosas.
JavaScriptis on mitu tüüpi vahemäära:
- Globaalse vahemäära (Global Scope): Muutujad, mis on deklareeritud väljaspool kõiki funktsioone või plokke, on kättesaadavad igast koodiosast.
- Funktsiooni vahemäär (Function Scope): Muutujad, mis on deklareeritud funktsiooni sees (enne ES6), on kättesaadavad ainult selles funktsioonis ja selle sees olevates funktsioonides.
- Ploki vahemäär (Block Scope): Muutujad, mis on deklareeritud
letjaconstabil plokkides (näiteks{}või tsüklites), on kättesaadavad ainult selles plokis.
Näide:
// Globaalse vahemäära näide
let globalVar = "Ma olen globaalne";
function someFunction() {
// Funktsiooni vahemäär (enne ES6)
var functionVar = "Ma olen funktsiooni sees";
console.log(globalVar); // kättesaadav globaalne muutuja
if (true) {
// Ploki vahemäär (let ja const)
let blockVar = "Ma olen ploki sees";
console.log(functionVar); // kättesaadav funktsiooni muutuja
console.log(blockVar); // kättesaadav ploki muutuja
}
// console.log(blockVar); // viga: blockVar ei ole siin kättesaadav
}
someFunction();
// console.log(functionVar); // viga: functionVar ei ole siin kättesaadav
Muutujate deklareerimise märksõnad ja nende mõju vahemäärale:
| Märksõna | Enne ES6 vahemäär | Pärast ES6 vahemäär |
|---|---|---|
var |
Funktsionaalne | Funktsionaalne |
let |
- | Plokiline |
const |
- | Plokiline |
Vahemäära mõistmine on oluline, et vältida muutujate nimede konflikte ning kirjutada puhas ja ennustatav kood.