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λ¬Έ μμλ₯Ό μ΄ν΄λ΄
μλ€. μλ μμμμ κ°μ‘°λ μ½λκ° μ€νλ©λλ€.
switchλ¬Έμ aμ κ°μΈ 4μ 첫 λ²μ§Έ caseλ¬Έμ κ°μΈ 3μ λΉκ΅ν©λλ€. λ κ°μ κ°μ§ μκΈ° λλ¬Έμ λ€μ caseλ¬ΈμΌλ‘ λμ΄κ°λλ€.
aμ κ·Έλ€μ caseλ¬Έμ κ°μΈ 4λ μΌμΉν©λλ€. λ°λΌμ breakλ¬Έμ λ§λ λκΉμ§ case 4 μλμ μ½λκ° μ€νλ©λλ€.
caseλ¬Έ μμ breakλ¬Έμ΄ μμΌλ©΄ 쑰건μ λΆν©νλμ§ μ¬λΆλ₯Ό λ°μ§μ§ μκ³ μ΄μ΄μ§λ caseλ¬Έμ μ€νν©λλ€.
breakλ¬Έμ΄ μλ κ²½μ° μ΄λ€ μΌμ΄ μΌμ΄λλμ§ μμλ₯Ό ν΅ν΄ μ΄ν΄λ΄
μλ€.
μ μμλ₯Ό μ€ννλ©΄ μλ 3κ°μ alertλ¬Έμ΄ μ€νλ©λλ€.
switch/caseλ¬Έμ μΈμμ μ΄λ€ ννμμ΄λ μ¬ μ μμ΅λλ€.
switchλ¬Έκ³Ό caseλ¬Έμ λͺ¨λ ννμ ννμμ μΈμλ‘ λ°μ΅λλ€.
μμ:
ννμ +aλ₯Ό νκ°νλ©΄ 1μ΄ λ©λλ€. μ΄ κ°μ 첫 λ²μ§Έ caseλ¬Έμ ννμ b + 1μ νκ°ν κ°(1)κ³Ό μΌμΉνμ£ . λ°λΌμ 첫 λ²μ§Έ caseλ¬Έ μλμ μ½λκ° μ€νλ©λλ€.
μ½λκ° κ°μ caseλ¬Έμ νλ° λ¬Άμ μ μμ΅λλ€.
case 3κ³Ό case 5μμ μ€ννλ €λ μ½λκ° κ°μ κ²½μ°μ λν μμλ₯Ό μ΄ν΄λ΄
μλ€.
case 3κ³Ό case 5λ λμΌν λ©μμ§λ₯Ό 보μ¬μ€λλ€.
switch/caseλ¬Έμμ breakλ¬Έμ΄ μλ κ²½μ°μ 쑰건μ μκ΄μμ΄ λ€μ caseλ¬Έμ΄ μ€νλλ λΆμμ©μ΄ λ°μν©λλ€. μ μμμμ case 3μ΄ μ°ΈμΈ κ²½μ°μ (*)λ‘ νμν μ€ μλμ μ½λκ° μ€νλλλ°, κ·Έ μλ μ€μ case 5κ° μκ³ breakλ¬Έλ μκΈ° λλ¬Έμ 12λ²μ§Έ μ€μ breakλ¬Έμ λ§λ λκΉμ§ μ½λλ κ³μ μ€νλ©λλ€.
switchλ¬Έμ μΌμΉ λΉκ΅λ‘ 쑰건μ νμΈν©λλ€. λΉκ΅νλ €λ κ°κ³Ό caseλ¬Έμ κ°μ νκ³Ό κ°μ΄ κ°μμΌ ν΄λΉ caseλ¬Έμ΄ μ€νλ©λλ€.
μμλ₯Ό ν΅ν΄ switchλ¬Έμμ μλ£νμ΄ μΌλ§λ μ€μνμ§ μ΄ν΄λ³΄λλ‘ ν©μλ€.
0μ΄λ1μ μ λ ₯ν κ²½μ°μ 첫 λ²μ§Έalertλ¬Έμ΄ μ€νλ©λλ€.2λ₯Ό μ λ ₯ν κ²½μ°μ λ λ²μ§Έalertλ¬Έμ΄ μ€νλ©λλ€.3μ μ λ ₯νμλλΌλ μΈ λ²μ§Έalertλ¬Έμ μ€νλμ§ μμ΅λλ€. μμ λ°°μ΄ λ°μ κ°μ΄promptν¨μλ μ¬μ©μκ° μ λ ₯ νλμ κΈ°μ¬ν κ°μ λ¬Έμμ΄λ‘ λ³νν΄ λ°ννκΈ° λλ¬Έμ μ«μ3μ μ λ ₯νλλΌλpromptν¨μλ λ¬Έμμ΄'3'μ λ°νν©λλ€. κ·Έλ°λ° μΈ λ²μ§Έcaseλ¬Έμμ μ¬μ©μκ° μ λ ₯ν κ°κ³Ό μ«μν 3μ λΉκ΅νλ―λ‘, ν μμ²΄κ° λ€λ₯΄κΈ° λλ¬Έμcase 3μλμ μ½λλ μ λ μ€νλμ§ μμ΅λλ€. λμdefaultλ¬Έμ΄ μ€νλ©λλ€.
μΆμ² : Modern Javascript νν 리μΌ
Last updated