Laajuudet
Pyyhkäise näyttääksesi valikon
Scope tarkoittaa aluetta koodissa, jossa muuttujaan voidaan päästä käsiksi tai sitä voidaan käyttää.
Scopeja on kahta tyyppiä:
- Globaali scope;
- Paikallinen scope.
Jos muuttuja määritellään koodilohkon sisällä (aaltosulkujen {} välissä), sillä on paikallinen scope. Tämä tarkoittaa, että siihen pääsee käsiksi vain sisältäpäin kyseisestä funktiosta tai koodilohkosta, tai mistä tahansa sisäkkäisestä lohkosta:
123456789101112function exampleFunc() { let exampleVariable = 10; console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Shows error
Muuttuja, joka on määritelty minkä tahansa koodilohkon ulkopuolella, on globaali muuttuja (Global Scope), ja siihen pääsee käsiksi mistä tahansa:
123456789101112let exampleVariable = 10; function exampleFunc() { console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Valid
Alemmassa (sisäkkäisessä) laajuudessa määriteltyyn muuttujaan ei voi päästä käsiksi ylemmästä (vanhemmasta) laajuudesta:
function exampleFunc() {
if (10 + 10 == 20) {
let exampleVariable = 10;
console.log(exampleVariable);
// Output: 10
// The variable is defined in this block, so it is accessible here
}
console.log(exampleVariable);
// ReferenceError: exampleVariable is not defined
// The variable was defined inside the if-block and is not accessible outside it
}
exampleFunc();
console.log(exampleVariable);
// This line will never execute because the script stops after the first ReferenceError
Tämä esimerkki sisältää tarkoituksellisia virheitä havainnollistaakseen, miten muuttujien näkyvyysalue toimii. Koodin suoritus pysähtyisi ensimmäiseen virheeseen, joten koodinpätkä on esitetty vain selitystarkoituksessa.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme