JS scope - try catch
블록 scope 영역 중 try - catch
에 관해 적어보고자 함
당연한 결과 일 수 있지만 블럭 {}에 따라서 다른 scope를 지니게 되며
아래와 같은 결과를 나타냄
let name = "foo";
try {
let name = "bar";
console.log(name);
name = error;
} catch (error) {
console.error(name);
}
// 출력결과
// bar
// foo
catch
블럭 안 에 name
변수가 없기 때문에 상위로 올라가서 찾게 되고
이에 foo
가 출력되게 됨