Day33 : scope

2024. 2. 2. 00:06카테고리 없음

Scope

  • 변수 참조의 유효범위
  • 전역 스코프 / 지역스코프

 

전역 스코프 (global scope)

  • 전역 스코프에서 선언된 변수들은 지역 스코프에서 참조 가능

지역 스코프 (local scope)

  • 함수마다 지역 스코프가 생겨난다.
  • 지역 스코프 안의 변수는 지역 스코프 밖에서 사용할 수 없다.
  • 함수레벨스코프 / 블록레벨스코프 두 조건에 따라 생성될 수 있다.

 

함수레벨 scope

  • 함수 내부의 scope
  • var (o)
  • let (o)
1
2
3
const sum = function() {
    var x = 0;
}

console.log(x)
cs

 

결과 : undefined

→ var로 선언된 함수 내부에서만 유효한 변수이기 때문

 

 

블록레벨 scope

  • 중괄호 사용할 때의 범위 (if, for)
  • var (x)
  • let (o)

 

1
2
3
4
5
if() {
    var y = 0;
}
 
console.log(y)
cs

결과 : 0

→ var로 선언된 변수는 함수 내부에서 유효하기 때문에 if문 밖으로 벗어나도 함수만 안 벗어나면 된다.