코드의 범위, 코드는 접근하거나 적용되는 범위가 존재한다.
Scope는 크게 두 가지로 분류된다.
💡 이 두가지를 나누는 기준은?
{}
중괄호
이다.
{} 밖
이면 Global Scope
(프로그램 실행이 끝나면 메모리에서 사라진다.)
{} 안
이면 Local Scope
(실행범위가 끝나면 메모리에서 사라진다.)
let a = 100 // 글로벌 스코프 상수
if ture {
let b = 200 // 로컬 스코프 상수
if true {
var d = 400 // 로컬 스코프 상수
}
}
let c = 300 // 글로벌 스코프 상수
let a = 100
if true {
let b = 200
if true {
var d = 400
}
}
let c = 300
print(a) // 출력값: 100
print(c) // 출력값: 300
print(b) // Error
print(d) // Error
let a = 100
print(c) // Error
if true {
let b = 200
if true {
var d = 400
}
}
let c = 300
print(c) // 출력값: 300
let a = 100
print(b) // Error
if true {
let b = 200
print(a) // 출력값: 100
if true {
var d = 400
print(b) // 출력값: 200
}
}
let c = 300
let a = 100
if true {
let a = 200
print(a) // 출력값: 200
if true {
var d = 400
}
}
print(a) // 출력값: 100
중괄호 안에 있지만 선언만 할 수 있는 스코프