2. switch문
switch문은 if문과 비슷해보이지만 다르다.
switch문은 어떤 값을 입력했는지에 따라 다르게 동작하는 문법이라고 볼 수 있다.
if문과 비슷하지만 동작하는 방식이 조금 다르다.
비교할 값과 조건값이 서로 일치할 때 : (콜론 쓰기!)
동작할 내용을 적는다.
그리고 break를 적어서 switch문을 빠져나오게 적어주면 된다.
default: 다음에 동작 부분은
비교할 값이 모든 조건 값과도 일치하지 않을 경우의 코드를 작성해주면된다.
비교할 값이 조건값1과 조건값2와 일치 하지 않을 경우 어떤 동작을 할 건지 적어주면 된다.
필요에 따라 생략도 가능하다.
2-2. switch문으로 심리 테스트 만들기!
myChoice가 2라고 선언했다.
myChoice가 1과 같다면 '토끼~' 이 문구가 나올 것이다.
myChoice가 2와 같다면 '고양이~' 이 문구가 나올 것이다.
myChoice가 3과 같다면 '강아지~' 이 문구가 나올 것이다.
그리고 myChoice가 1,2,3이외 다른 숫자라면 '1에서 4 사이의 ~' 이 문구가 나올 것이다.
현재는 myChoice가 2니까
'고양이~' 이 문구가 나온다.
'고양이를 선택한 당신, 난폭하군요.'
이 문구가 콘솔에 출력되었다.
^^;;;
자, 이번에는 break; 이 부분을 다 지워보자!
Tip : Ctrl + D 를 누르면 똑같은 글자를 한 번에 블록 잡을 수 있다!!
출력된 결과를 살펴보자.
myChoice가 2인데 출력한 결과를 보면 case2에서부터 default까지 모든 동작 부분을 실행한다.
break문을 만나기 전까지 모든 동작을 실행하는 것이다!
switch문은 if문과 비슷하지만 사용법이 좀 다르다.
프로그래밍을 할 때에도 switch와 if 가 각각 필요한 경우에 맞게 사용하면 될 것 같다.
2-3. switch문을 if문으로 바꾸기
switch문을 당연히 if문으로 바꿀 수도 있다.
심리테스트를 바꿔볼까?
let myChoice = 2
if (myChoice === 1) {
console.log('토끼를 선택한 당신, ...');
} else if (myChoice === 2) {
console.log('고양이를 선택한 당신, ...');
} else if (myChoice === 3) {
console.log('코알라를 선택한 당신, ...');
} else if (myChoice === 4) {
console.log('강아지를 선택한 당신, ...');
} else {
console.log('1에서 4사이의 숫자를 선택해 주세요.');
}
if 문을 쓰면 else if를 쭉 나열하면 된다.
이 때 주의할 점은 등호 이다!!!!
myChoice === 1이렇게 등호가 3개가 들어가 있다.
만약 myChoice == 1 이렇게 등호가 2개 들어가 있다면
myChoice가 '2' 이렇게 문자열로 입력되어도 자동 형 변환이 되면서 동등 비교가 이루어 진다.
그래서 if문에서는
'고양이를 선택한 당신, 난폭하군요.'
이 문구가 출력된다.
그러니까 헷갈리지 않기 위해서 if문으로 변환할 때는 꼭 반드시 === 등호를 3개 써줘야 한다.
그렇다면 myChoice = '2' 이 형태로 입력되었을 떄 switch문에서는 어떤 결과가 출력될까?
바로
'1에서 4 사이의 값을 입력하세요.'
default로 정해준 문구가 출력된다.
왜냐면 swtich는 자동으로 형변환을 안하기 때문에 자료형을 엄격하게 구분한다.
문자열 1과 맞는 경우가 없으니 default에서 동작하라는 부분을 동작시켜 준 것이다.
if문을 보면 myChoice를 조건 값과 함께 비교하는 조건식을 매번 작성해야 하는 번거로움이 있다.
그리고 뭔가 switch문이 조금 더 눈에 잘 읽힌다.
if문과 switch문 모두 특정한 조건에 따라 다르게 동작하는 코드를 만들 수 있다.
하지만 어떤 넓은 범위를 만족하는 조건식을 만들 때에는 if문을 활용하는 것이 더 효과적이다.
반대로 특정한 값에 일치하는 조건을 만들 때에는 switch문이 더 효과적이다.
switch는 특정 값에 일치하는 조건을 만들 때 사용해봐야겠다.
아무래도 if문을 훨씬 더 많이 사용하지 않을까?
다음 글에서는 for문의 사용법을 알아보자!
'프로그래밍 > Javascript' 카테고리의 다른 글
JavaScript 기초 : 제어문 5. break와 continue (0) | 2020.09.08 |
---|---|
JavaScript 기초 : 제어문 3. for반복문 (0) | 2020.09.08 |
JavaScript 기초 : 제어문 1. if문 사용법(if문 중첩) (0) | 2020.09.07 |
JavaScript 기초: 추상화 6. 상수 (0) | 2020.09.07 |
JavaScript 기초 : 추상화 5. 로컬변수와 글로벌변수 (0) | 2020.09.07 |