• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

20.12.13 21:53 작성 조회수 143

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) {....} 단위가 하나의 블록{ }입니다.