728x90
함수 레벨 스코프란? (Function-level scope)
- 정의: 변수가 함수 안에서 선언되면 그 함수 전체에서 접근 가능한 스코프.
- 대표 예시: var (JavaScript)
- 자바스크립트에서 var 가 함수 레벨 스코프를 따른다
- 함수에서 선언된 것은 블록을 무시하고도 함수 안에서 사용될 수 있다
function example() {
if (true) {
var x = 10;
}
console.log(x); // 10 (접근 가능!)
}
- var로 선언된 변수는 블록 {} 무시하고, 함수 전체에서 접근 가능하다
- 이건 의도치 않게 버그를 유발할 수 있어서 위험할 수 있음.
블록 레벨 스코프 (Block-level scope)
- 정의: 변수가 블록 안에서 선언되면, 그 블록 내부에서만 접근 가능.
- 대표 예시: let, const (JavaScript), C, Java, Python 등 대부분의 언어
- 자바스크립트에서 const,let이 블록 레벨 스코프를 따른다
- 블록 안에서 선언된 것은 블록 안에서만 사용 될 수 있다.
function example() {
if (true) {
let x = 10;
const y = 20;
}
console.log(x); // ❌ 에러
console.log(y); // ❌ 에러
}
- {} 블록 내부에서만 유효하므로 스코프가 더 제한적이다.
- 요즘은 블록 레벨 스코프를 사용하는 게 더 안전하고 추천됨.
728x90
'💾 lecture > 서버 구축 실습' 카테고리의 다른 글
[GCP] 원격에서 VM 접근 설정 (0) | 2025.04.22 |
---|---|
[GCP] Node.js 설치하기 (0) | 2025.04.06 |
[GCP] VM 인스턴스 생성 및 초기 설정 (0) | 2025.04.06 |
스레들 풀 방식 vs 이벤트 루프 방식 (0) | 2025.03.20 |