Junior
JavaScriptтеги өзгөрмөлөрдүн чөйрөсү (scope) эмне?
sobes.tech AI
AIден жооп
Көз караш чөйрөсү өзгөрмөлөрдүн, функциялардын жана объектилердин белгилүү бир код бөлүгүндө жеткиликтүүлүгүн аныктайт.
JavaScriptте көз караш чөйрөсүнүн бир нече түрлөрү бар:
- Глобалдык көз караш чөйрөсү (Global Scope): Бардык функциялар жана блоктордон тышкары жарыяланган өзгөрмөлөр бардык код бөлүктөрүнөн жеткиликтүү.
- Функциялык көз караш чөйрөсү (Function Scope): Функциянын ичинде (ES6 чейин) жарыяланган өзгөрмөлөр гана ошол функцияда жана анын ички функцияларында жеткиликтүү.
- Блок көз караш чөйрөсү (Block Scope):
letжанаconstколдонулуп, блоктордун ичинде (мисалы,{}же циклдер) жарыяланган өзгөрмөлөр гана ошол блокто жеткиликтүү.
Мисал:
// Глобалдык көз караш чөйрөсү
let globalVar = "Мен глобалдык";
function someFunction() {
// Функциялык көз караш чөйрөсү (ES6 чейин)
var functionVar = "Мен функциянын ичинде";
console.log(globalVar); // Глобалдык өзгөрмө жеткиликтүү
if (true) {
// Блок көз караш чөйрөсү (let жана const үчүн)
let blockVar = "Мен блоктун ичинде";
console.log(functionVar); // Функциялык өзгөрмө жеткиликтүү
console.log(blockVar); // Блоктун өзгөрмөсү жеткиликтүү
}
// console.log(blockVar); // Каталар: blockVar жеткиликтүү эмес
}
someFunction();
// console.log(functionVar); // Каталар: functionVar жеткиликтүү эмес
Өзгөрмөлөрдү жарыялоо үчүн ачкыч сөздөр жана алардын көз карашка таасири:
| Ачкыч сөз | ES6 чейин көз караш | ES6ден кийин көз караш |
|---|---|---|
var |
Функциялык | Функциялык |
let |
- | Блоктук |
const |
- | Блоктук |
Көз караш чөйрөсүн түшүнүү өзгөрмөлөрдүн аталыштык конфликттерин алдын алуу жана таза, алдын ала көрүлүүчү код жазуу үчүн маанилүү.