강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

yuna kang님의 프로필 이미지
yuna kang

작성한 질문수

모던 자바스크립트(ES6+) 기본

2. 블록 스코프 유형: function 블록, try-catch, switch-case

"블록 스코프 유형"강의 3:58분 내용의 switch-case 스코프에 대한 질문

작성

·

237

1

강의 자료에 switch-case {} 블록 문 안에서 "case, default는 블록 스코프가 아님" 이라고 되어 있는데 이게 잘못 쓰여진 것 같아요..!

강의 안의 코드 예시를 보면 아래와 같은데요,

switch 블록 안에 포함된 case 1와 case 2 아래에서 let을 사용하여 같은 이름의 변수를 여러번 선언할 수 없으니, 즉 case default도 switch 블록 스코프에 포함되는 것이 아닌가요? 헷갈리네요

[코드 예시]

let item = 1;

switch (item) {

  case 1:

    let sports;

    break;

  case 2:

    //let sports; => 같은 switch 블록 안에서 let을 사용하여 선언한 변수가 이미 있으므로 다시 let을 사용하여 같은 이름의 변수를 재선언하면 에러가 발생함

그러므로 case와 default는 자체적으로 다른 블록을 가지지 않고...switch 블록 안에 case와 default가 포함됨

(이게 맞나요?)

  default:

    log(sports);

};

답변 1

0

김영보님의 프로필 이미지
김영보
지식공유자

(이게 맞나요?) ==> 맞습니다.  switch (item) {....} 단위가 하나의 블록{ }입니다.

yuna kang님의 프로필 이미지
yuna kang

작성한 질문수

질문하기