일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- spring
- @test
- @Spring-Test
- STS
- Ubunt
- JdbcTemplate
- Di
- Dependency Injection
- Linux
- @JUnit
- @AspectJ
- spring aop
- 리눅스
- Framework
- myBatis
- SpringJDBC
- Spring Boot
- AOP
- JDBC TEMPLATE
- java
- XML
- 컨테이너
- POJO
- 마이바티스
- java spring
- Spring JDBC
- unix
- 프로퍼티
- pointcut
- spring framework
- Today
- Total
개키우는개발자 : )
자바스크립트 스위치( switch ) 조건문 본문
switch 문
문법은 하나 이상의 case 블록과 선택적 기본값을 가진다.
switch(x) {
case 'value1': //if x 가 'value1' 이면 실행
...
[break]
case 'value2': //if x 가 'value2' 이면 실행
...
[break]
default:
...
[break]
}
switch 문의 패턴은 ('value1') case 'value1'과 같으면 case : 에서 시작하여 가장 가까운 break까지 실행한다.
만약 case에 일치하는 값이 없다면 default 코드가 실행된다. (default 가 존재할 경우)
예제
let a = 2 + 2;
switch (a) {
case 3:
alert( 'Too small' );
break;
case 4:
alert( 'Exactly!' );
break;
case 5:
alert( 'Too large' );
break;
default:
alert( "I don't know such values" );
}
a 의 값은 4이기 때문에 case 4: 와 brake 사이의 alert( 'Exactly!' ); 가 실행이 된다.
break 가 없는 예
let a = 2 + 2;
switch (a) {
case 3:
alert( 'Too small' );
case 4:
alert( 'Exactly!' );
case 5:
alert( 'Too big' );
default:
alert( "I don't know such values" );
}
case 4: 이후의 case들이 모두 실행된다. 조건이 맞으면 break 문을 사용하여 빠져나와야 한다.
switch/case 는 형 변환 또는 연산자를 이용해 값을 변경할 수 있습니다.
let a = "1";
let b = 0;
switch (+a) {
case b + 1:
alert("this runs, because +a is 1, exactly equals b+1");
break;
default:
alert("this doesn't run");
}
a의 문자열 변수가 앞에 + 를 붙이면 Number(a) 즉 숫자로 형 변환을 합니다.
그 이후 숫자 0 + 1 은 1 이므로 case b+1 : 이 실행됩니다.
case의 그룹화
복수의 조건일 때 case를 그룹화할 수 있습니다.
let a = 3 or 5;
switch (a) {
case 4:
alert('Right!');
break;
case 3: // (*) grouped two cases
case 5:
alert('Wrong!');
alert("Why don't you take a math class?");
break;
default:
alert('The result is strange. Really.');
}
a 가 3 이어도 alert('Wrong!'); alert("Why don't you take a math class?"); 이 실행되고 값이 5여도 같은 내용이 실행됩니다.
Type을 확인하세요
조건의 비교는 동일 유형(Type) 이어야 합니다.
let arg = prompt("Enter a value?");
switch (arg) {
case '0':
case '1':
alert( 'One or zero' );
break;
case '2':
alert( 'Two' );
break;
case 3:
alert( 'Never executes!' );
break;
default:
alert( 'An unknown value' );
}
자바스크립트의 prompt 창의 반환 값은 문자(String)입니다.
그렇기 때문에 3을 입력하면 case 3 == 숫자 이기 때문에 prompt 입력창의 3은 서로 다른 유형(Type)이기 때문에
default 블록 안의 'An unknown value'가 실행됩니다.
'JavaScript > JavaScript' 카테고리의 다른 글
자바스크립트 비교 연산자 (0) | 2019.05.15 |
---|---|
자바스크립트 코드 구조 및 주석 (0) | 2019.05.14 |
자바스크립트 연산자 (0) | 2019.05.11 |
자바스크립트 사용하기 (0) | 2019.05.10 |
자바스크립트 란? (0) | 2019.05.10 |