스위치 명령문은 IF 문과 가장 밀접한 관련이 있으며 다른 프로그래밍 언어에서 일반적으로 사용되는 프로세스 제어 문입니다. 그러나 스위치 일치는 합동 패턴입니다. 이 세부 사항에주의를 기울이지 않으면 프로그램을 작성할 때 종종 실수를합니다.
암호:
var n = '5'; switch (n) {case 5 : alert ( 'execute case branch'); break; default : alert ( '기본 분기 실행');}결과:
많은 사람들이 위의 프로그램이 사례 지점으로 갈 것이라고 잘못 생각할 수도 있지만 결국 기본 지점으로 이동합니다. 그들은 같지 않습니까? if 문을 사용하여 보자.
암호:
var n = '5'; if (n == 5) {alert ( 'true branch');} else {alert ( 'false branch');}결과:
if 문에 일치 할 수 있지만 왜 스위치 문에 일치 할 수 없습니까?
스위치 명령문의 경우는 IF에서 3 개의 동일한 부호를 사용하는 것과 동일하기 때문에 수렴 모드를 사용하기 때문입니다. 케이스의 코드를 다시 작성해 봅시다
암호:
var n = '5'; switch (n) {case '5': // 원래 사례 5를 '5'alert ('execute case branch ')에 다시 작성합니다. break; default : alert ('기본 분기 ');}결과:
다시 작성한 후, 우리가 if에서 3 개의 동일한 부호를 사용하는 것처럼 케이스 브랜치로 갈 수 있습니다.
암호:
var n = '5'; if (n === 5) {alert ( 'true branch');} else {alert ( 'false brown');}결과:
수렴이 사용되기 때문에 문자열 5는 숫자 5와 같지 않으며 잘못된 분기가 사라집니다.
위의 예는 스위치에서 합동 일치 패턴을 사용할 때, 특히 숫자가 문자열과 일치 할 때주의를 기울여야하는 문제를 보여줍니다.