Sobes.tech
Назад к вопросам
Junior — Middle
66

Можешь объяснить основные отличия области действия (scope) в функциях?

Компании, где спрашивали
Dogma

Ответ от нейросети

sobes.tech AI

Область действия (scope) в функциях определяет, где переменные и функции доступны для использования. Основные виды области действия:

  • Локальная область: переменные, объявленные внутри функции, доступны только внутри этой функции.
  • Глобальная область: переменные, объявленные вне функций, доступны везде в программе.
  • Блочная область (в языках, поддерживающих, например, JavaScript с let/const): переменные доступны только внутри блока кода (например, внутри if, for).

Пример на Kotlin (Android):

fun example() {
    val localVar = 10 // локальная переменная
    if (localVar > 5) {
        val blockVar = 20 // блочная область
        println(blockVar) // доступна здесь
    }
    // println(blockVar) // ошибка: blockVar не видна здесь
}

val globalVar = 100 // глобальная переменная

fun another() {
    println(globalVar) // доступна здесь
}

Понимание области действия важно для управления видимостью и временем жизни переменных, предотвращения конфликтов имен и утечек памяти.