Development/Javascript
[Javascript/ES6+] 블록 스코프 유형
레오나르도 다빈츠
2021. 7. 7. 21:07
출처
자바스크립트 ES6+ 기본 - 인프런 | 강의
4개 강좌로 구성된 자바스크립트 바이블 강좌의 3번째 강좌입니다. 자바스크립트 스펙의 95% 이상을 다룹니다. ES6+ 환경에서 새로운 패러다임의 프로그램을 개발할 수 있습니다., 자바스크립트
www.inflearn.com
🚀 블록 스코프 유형
◽ 유형
1) function 블록
2) try-catch 블록
3) switch-case 블록
◽ function 블록
- function name() {}도 블록 스코프이다.
- function 안과 밖에 같은 이름의 let 변수를 선언할 수 있다.
- function 밖의 let 변수를 function안에서 사용가능한데 이것을 클로저라고 한다.
// let 변수로 안과 밖에서 sports를 선언했는데 각각 존재할 수 있다.
let sports = "축구";
function show() {
let sports = "농구";
console.log("안: ", sports);
}
show();
console.log("밖: ", sports);
[실행결과]
안: 농구
밖: 축구
◽ try-catch 블록
- try-catch도 블록 스코프이다.
- 블록의 기준은 try 블록{} 기준이다.
[코드 1]
let sports = "축구";
try {
let sports = "농구";
console.log("안: ", sports);
} catch(e) {};
console.log("밖: ", sports);
[실행결과]
안: 농구
밖: 축구
[코드 2]
let sports = "축구";
try {
let sports = "농구";
console.log("안: ", sports);
abc = error;
} catch(e) {
// catch에서는 try 밖의 변수를 사용한다.
console.log("catch: ", sports);
};
console.log("밖: ", sports);
[실행결과]
안: 농구
catch: 축구
밖: 축구
◽ switch-case 블록
- switch문도 블록 스코프이다.
- switch 블록 기준으로 같은 이름의 let 변수를 작성할 수 없다.
- case, default는 블록 스코프가 아니다.