switch문
볡μμ if
쑰건문μ switch
λ¬ΈμΌλ‘ λ°κΏ μ μμ΅λλ€.
switch
λ¬Έμ μ¬μ©ν λΉκ΅λ²μ νΉμ λ³μλ₯Ό λ€μν μν©μμ λΉκ΅ν μ μκ² ν΄μ€λλ€. μ½λ μμ²΄κ° λΉκ΅ μν©μ μ μ€λͺ
νλ€λ μ₯μ λ μμ΅λλ€.
switch
λ¬Έμ νλ μ΄μμ case
λ¬ΈμΌλ‘ ꡬμ±λ©λλ€. λκ° default
λ¬Έλ μμ§λ§, μ΄λ νμλ μλλλ€.
μμ:
switch(x) {
case 'value1': // if (x === 'value1')
...
[break]
case 'value2': // if (x === 'value2')
...
[break]
default:
...
[break]
}
λ³μ
x
μ κ°κ³Ό 첫 λ²μ§Έcase
λ¬Έμ κ°'value1'
λ₯Ό μΌμΉ λΉκ΅ν ν, λ λ²μ§Έcase
λ¬Έμ κ°'value2'
μ λΉκ΅ν©λλ€. μ΄λ° κ³Όμ μ κ³μ μ΄μ΄μ§λλ€.case
λ¬Έμμ λ³μx
μ κ°κ³Ό μΌμΉνλ κ°μ μ°ΎμΌλ©΄ ν΄λΉcase
λ¬Έμ μλμ μ½λκ° μ€νλ©λλ€. μ΄λ,break
λ¬Έμ λ§λκ±°λswitch
λ¬Έμ΄ λλλ©΄ μ½λμ μ€νμ λ©μΆ₯λλ€.κ°κ³Ό μΌμΉνλ
case
λ¬Έμ΄ μλ€λ©΄,default
λ¬Έ μλμ μ½λκ° μ€νλ©λλ€(default
λ¬Έμ΄ μλ κ²½μ°).
μ€μ μ€ν κ°λ₯ν switch
λ¬Έ μμλ₯Ό μ΄ν΄λ΄
μλ€. μλ μμμμ κ°μ‘°λ μ½λκ° μ€νλ©λλ€.
let a = 2 + 2;
switch (a) {
case 3:
alert( 'λΉκ΅νλ €λ κ°λ³΄λ€ μμ΅λλ€.' );
break;
case 4:
alert( 'λΉκ΅νλ €λ κ°κ³Ό μΌμΉν©λλ€.' );
break;
case 5:
alert( 'λΉκ΅νλ €λ κ°λ³΄λ€ ν½λλ€.' );
break;
default:
alert( "μ΄λ€ κ°μΈμ§ νμ
μ΄ λμ§ μμ΅λλ€." );
}
switch
λ¬Έμ aμ κ°μΈ 4μ 첫 λ²μ§Έ case
λ¬Έμ κ°μΈ 3μ λΉκ΅ν©λλ€. λ κ°μ κ°μ§ μκΈ° λλ¬Έμ λ€μ case
λ¬ΈμΌλ‘ λμ΄κ°λλ€.
aμ κ·Έλ€μ case
λ¬Έμ κ°μΈ 4λ μΌμΉν©λλ€. λ°λΌμ break
λ¬Έμ λ§λ λκΉμ§ case 4
μλμ μ½λκ° μ€νλ©λλ€.
case
λ¬Έ μμ break
λ¬Έμ΄ μμΌλ©΄ 쑰건μ λΆν©νλμ§ μ¬λΆλ₯Ό λ°μ§μ§ μκ³ μ΄μ΄μ§λ case
λ¬Έμ μ€νν©λλ€.
break
λ¬Έμ΄ μλ κ²½μ° μ΄λ€ μΌμ΄ μΌμ΄λλμ§ μμλ₯Ό ν΅ν΄ μ΄ν΄λ΄
μλ€.
let a = 2 + 2;
switch (a) {
case 3:
alert( 'λΉκ΅νλ €λ κ°λ³΄λ€ μμ΅λλ€.' );
case 4:
alert( 'λΉκ΅νλ €λ κ°κ³Ό μΌμΉν©λλ€.' );
case 5:
alert( 'λΉκ΅νλ €λ κ°λ³΄λ€ ν½λλ€.' );
default:
alert( "μ΄λ€ κ°μΈμ§ νμ
μ΄ λμ§ μμ΅λλ€." );
}
μ μμλ₯Ό μ€ννλ©΄ μλ 3κ°μ alert
λ¬Έμ΄ μ€νλ©λλ€.
alert( 'λΉκ΅νλ €λ κ°κ³Ό μΌμΉν©λλ€.' );
alert( 'λΉκ΅νλ €λ κ°λ³΄λ€ ν½λλ€.' );
alert( "μ΄λ€ κ°μΈμ§ νμ
μ΄ λμ§ μμ΅λλ€." );
switch/case
λ¬Έμ μΈμμ μ΄λ€ ννμμ΄λ μ¬ μ μμ΅λλ€.
switch
λ¬Έκ³Ό case
λ¬Έμ λͺ¨λ ννμ ννμμ μΈμλ‘ λ°μ΅λλ€.
μμ:
let a = "1";
let b = 0;
switch (+a) {
case b + 1:
alert("ννμ +aλ 1, ννμ b+1λ 1μ΄λ―λ‘ μ΄ μ½λκ° μ€νλ©λλ€.");
break;
default:
alert("μ΄ μ½λλ μ€νλμ§ μμ΅λλ€.");
}
ννμ +aλ₯Ό νκ°νλ©΄ 1μ΄ λ©λλ€. μ΄ κ°μ 첫 λ²μ§Έ case
λ¬Έμ ννμ b + 1
μ νκ°ν κ°(1)κ³Ό μΌμΉνμ£ . λ°λΌμ 첫 λ²μ§Έ case
λ¬Έ μλμ μ½λκ° μ€νλ©λλ€.
μ½λκ° κ°μ case
λ¬Έμ νλ° λ¬Άμ μ μμ΅λλ€.
case 3
κ³Ό case 5
μμ μ€ννλ €λ μ½λκ° κ°μ κ²½μ°μ λν μμλ₯Ό μ΄ν΄λ΄
μλ€.
let a = 3;
switch (a) {
case 4:
alert('κ³μ°μ΄ λ§μ΅λλ€!');
break;
case 3: // (*) λ caseλ¬Έμ λ¬Άμ
case 5:
alert('κ³μ°μ΄ ν립λλ€!');
alert("μν μμ
μ λ€μ λ€μ΄λ³΄λκ±Έ κΆμ λ립λλ€.");
break;
default:
alert('κ³μ° κ²°κ³Όκ° μ΄μνλ€μ.');
}
case 3
κ³Ό case 5
λ λμΌν λ©μμ§λ₯Ό 보μ¬μ€λλ€.
switch/case
λ¬Έμμ break
λ¬Έμ΄ μλ κ²½μ°μ 쑰건μ μκ΄μμ΄ λ€μ case
λ¬Έμ΄ μ€νλλ λΆμμ©μ΄ λ°μν©λλ€. μ μμμμ case 3
μ΄ μ°ΈμΈ κ²½μ°μ (*)
λ‘ νμν μ€ μλμ μ½λκ° μ€νλλλ°, κ·Έ μλ μ€μ case 5
κ° μκ³ break
λ¬Έλ μκΈ° λλ¬Έμ 12λ²μ§Έ μ€μ break
λ¬Έμ λ§λ λκΉμ§ μ½λλ κ³μ μ€νλ©λλ€.
switchλ¬Έμ μΌμΉ λΉκ΅λ‘ 쑰건μ νμΈν©λλ€. λΉκ΅νλ €λ κ°κ³Ό case
λ¬Έμ κ°μ νκ³Ό κ°μ΄ κ°μμΌ ν΄λΉ case
λ¬Έμ΄ μ€νλ©λλ€.
μμλ₯Ό ν΅ν΄ switchλ¬Έμμ μλ£νμ΄ μΌλ§λ μ€μνμ§ μ΄ν΄λ³΄λλ‘ ν©μλ€.
let arg = prompt("κ°μ μ
λ ₯ν΄μ£ΌμΈμ.");
switch (arg) {
case '0':
case '1':
alert( '0μ΄λ 1μ μ
λ ₯νμ
¨μ΅λλ€.' );
break;
case '2':
alert( '2λ₯Ό μ
λ ₯νμ
¨μ΅λλ€.' );
break;
case 3:
alert( 'μ΄ μ½λλ μ λ μ€νλμ§ μμ΅λλ€!' );
break;
default:
alert( 'μ μ μλ κ°μ μ
λ ₯νμ
¨μ΅λλ€.' );
}
0
μ΄λ1
μ μ λ ₯ν κ²½μ°μ 첫 λ²μ§Έalert
λ¬Έμ΄ μ€νλ©λλ€.2
λ₯Ό μ λ ₯ν κ²½μ°μ λ λ²μ§Έalert
λ¬Έμ΄ μ€νλ©λλ€.3
μ μ λ ₯νμλλΌλ μΈ λ²μ§Έalert
λ¬Έμ μ€νλμ§ μμ΅λλ€. μμ λ°°μ΄ λ°μ κ°μ΄prompt
ν¨μλ μ¬μ©μκ° μ λ ₯ νλμ κΈ°μ¬ν κ°μ λ¬Έμμ΄λ‘ λ³νν΄ λ°ννκΈ° λλ¬Έμ μ«μ3
μ μ λ ₯νλλΌλprompt
ν¨μλ λ¬Έμμ΄'3'
μ λ°νν©λλ€. κ·Έλ°λ° μΈ λ²μ§Έcase
λ¬Έμμ μ¬μ©μκ° μ λ ₯ν κ°κ³Ό μ«μν 3μ λΉκ΅νλ―λ‘, ν μμ²΄κ° λ€λ₯΄κΈ° λλ¬Έμcase 3
μλμ μ½λλ μ λ μ€νλμ§ μμ΅λλ€. λμdefault
λ¬Έμ΄ μ€νλ©λλ€.
μΆμ² : Modern Javascript νν 리μΌ
Last updated