-
[Javascript/ES6] try - catch ์ switch - casejavascript 2019. 5. 4. 01:48
์๋ ํ์ธ์!
์ ๋ฉฐ์น ์์ ์ค๋น๋ฅผ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ? ์ ๋ํ ๊ณ ๋ฏผ์ผ๋ก ํฌ์คํ ์ ์๋๋ฅผ ๋ชป ๋์ต๋๋ค.
์? ๊ฐ์๊ธฐ ๋ฌด์จ ์์์ด๋? ํ์ค ์ ์๋๋ฐ์, ์กฐ์ฉํ ์๋ ์น ์ฑ ๋ง๋ค๊ธฐ ์๋ฆฌ์ฆ์ ์์์ด์๋ ์ฒซ ํธ(https://bejerry.tistory.com/15)์์ ์ ๋ง ์ง๋๊ฐ๋ ๋ง์ธ ๊ฒ์ฒ๋ผ ๊ธ๋ก ์ ์์๋๋ฐ ์ ํํ ๋ ์์์ผ๋ก ์๋ ค๋๋ฆฌ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์ด ๊ฐํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์กฐ์ฉํ ์๋ ์๋ฆฌ์ฆ๋ฅผ ๋ธ๋ก๊ทธ์์ ๋ง์นจ๊ณผ ๋์์ ๊ฐ์ ์ฃผ์ ๋ก ๋ ์ฌํ ์๊ฒ, ๊ทธ๋ฆฌ๊ณ ์ข ๋ ๋ค์ํ๊ฒ ์๋ ค๋๋ ค์ผ๊ฒ ๋ค๋ ์๊ฐ์ ํ๊ณ ์ด์ ๋ง์ถฐ ์ค๋น ์๋ ์ค๋น๋ฅผ ํ์ต๋๋ค.
์ ๋ชฉ์ try-catch์ swich-case์ธ๋ฐ ์ ์ ๋ชฉ์ด๋ ๋ง์ง๋ ์๋ ๋ง๋ก ์๋ก ์ ๊ธธ๊ฒ ํ๋๊ฐ ํ๋ฉด ๋ณ๋ช ์ ํ๊ณ ์ถ์์ต๋๋ค.
1์ผ 1ํฌ์คํ ์ ํ๊ณ ์ ๋ง์๋จน์๋ ํฐ๋ผ ์ ์ค์ค๋ก์๊ฒ ๋ณ๋ช ์ค์ ๋๋ค. :)
๊ทธ๋ผ ์ด์ ์๋ก ์ ๋ง์น๊ณ ๋ณธ๋ก ์ผ๋ก ๋ค์ด๊ฐ ๋ณผ๊น์?
์ฌ์ค ๋ธ๋ก { } ์ค์ฝํ๊ฐ ๋์ฃผ์ ๋ผ๊ณ ํด๋ ๊ณผ์ธ์ด ์๋ ๊ฑฐ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฐ ์์ let ํค์๋(let ํค์๋์ this ํธ : https://bejerry.tistory.com/21)์ ๋ํด ๋ฐฐ์ ์์ฃ ? letํค์๋๊ฐ ES6์ ์ถ๊ฐ๋ ์ด์ ๋ ์ฌ๋ฌ ์ด์ ์ค์ var์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํจ์ผ๋ก ๋ง๋ค์ด์ง ๊ฒ๋ ์๋ค๊ณ ํฌ์คํ ํ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ let ํค์๋์ var ํค์๋์ ์ฐจ์ด์ ์ ๋น๊ตํ๋ ํฌ์คํ (let ํค์๋์ var ํค์๋์ ๋น๊ต ํธ : https://bejerry.tistory.com/7)๋ ํ์์ฃ .
์ฃผ๋ก ๋ค๋ฃฌ ๋ด์ฉ์ ๊ธฐ์ตํ์๋์?
๋ค, ์ค์ฝํ์์ต๋๋ค. let ํค์๋์ var ํค์๋์ ์ฐจ์ด์ ์ ์ค์ฝํ์ด๋ฉฐ, let ํค์๋์ ํน์ง ์ค ํ๋๋ ๋ธ๋ก { } ์ค์ฝํ์ด๋ค. var๋ ํจ์ ( ) ์ค์ฝํ์ด์ฃ . ๊ฐ๋ตํ๊ฒ ์ ์ ๋ฐฐ์ด ๊ฒ๋ค์ ๋ณต์ตํด๋ดค์ต๋๋ค.
๋ฌผ๋ก ์ฌ๊ธฐ์ ์ ์๊ฐ์ ๋ฐฐ์ด ๊ฒ์ ์ ๋ถ ์ ๋ฆฌํ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ๊ถ๊ธ ํน์ ํ์ํ์ ๋ถ๋ค์ ์ ๋งํฌ๋ก ์ด๋ํ์๊ณ ์ค์ฝ~ ํ์ด๋ณด๊ณ ์ค์ธ์!
๊ทธ๋ ๋ค๋ฉด ์ ๋ธ๋ก { } ์ค์ฝํ๊ฐ ๋์ฃผ์ ๋ผ๊ณ ์๊ฐํ๋๊ฐ?
์ด ํฌ์คํ ์ ๋ชฉ์ try-catch์ switch-case์ ๋๋ค.
๋ค, ๋์น๊ฐ ๋น ๋ฅด์ ๋ถ๋ค์ ํน์ ์ด๋ฏธ try-catch, switch-case๋ฅผ ๊ณต๋ถํ์ ๋ถ๋ค์ด๋ผ๋ฉด ์์ จ์ ๊ฑฐ์์. ์ ๋ ์น๊ตฌ๋ค๋ ๋ธ๋ก { }์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
try-catch๋ฌธ
try-catch๋ฌธ์์ try ๋ธ๋ก { } ๊ธฐ์ค์ผ๋ก ๋ธ๋ก ์ค์ฝํ๋ฅผ ๊ฐ์ต๋๋ค. ์ ์ํ์ ์ผ ํ ์ ์ catch ๋ธ๋ก { }์ ๊ฒฝ์ฐ ์ค์ฝํ๋ฅผ ๊ฐ์ง ์์ผ๋ฉฐ try ๋ธ๋ก ์ค์ฝํ์ ์ํฉ๋๋ค. ์๋์ ์์ค๋ฅผ ๋ณด์ค๊น์?
let sports = '์ถ๊ตฌ'; try { let sports = '๋๊ตฌ'; console.log(sports); // ๋๊ตฌ } catch (e) { }; console.log(sports); // ์ถ๊ตฌ
์ ์ผ ์ฒซ ์ค์ ์ ์ธ ๋ฐ ์ด๊ธฐํ(ํ ๋น)๋ฅผ ํ sports ๋ณ์์ try ๋ธ๋ก { } ์์ sports์ ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅด๊ฒ ๋์จ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ๋ง์ฝ, try ๋ธ๋ก { }์ด ๋ณ๋์ ์ค์ฝํ๋ฅผ ๊ฐ์ง ์์๋ค๊ณ ํ๋ค๋ฉด ๊ฐ์ ์ค์ฝํ์ ์ด๋ฆ์ด ๊ฐ์ let ๋ณ์๋ฅผ ์ ์ธํ ๊ฒ์ด ๋๊ธฐ ๋๋ฌธ์ ์๋ฌ๊ฐ ๋ฐ์ํด์ผ ํฉ๋๋ค.
switch-case๋ฌธ
switch-case ๋ฌธ์์๋ switch ๋ธ๋ก { }์ด ๋ธ๋ก ์ค์ฝํ์ ๋๋ค. case๋ ๋ณ๋์ ์ค์ฝํ๋ฅผ ๊ฐ์ง ์์ผ๋ฉฐ switch์ ์ค์ฝํ์ ์ํฉ๋๋ค.
var count = 1; let sports = '์ถ๊ตฌ'; switch (count) { case 1: let sports = '๋๊ตฌ'; console.log(sports); // ๋๊ตฌ } console.log(sports); // ์ถ๊ตฌ
์ฒซ ์ค์ ์๋ count ๋ณ์๋ switch ๋ฌธ์ case 1:์ด ์คํ๋๋๋ก ํ๊ธฐ ์ํด ์ ์ธํ ๋ณ์์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ switch ๋ฌธ ์๋ก sports ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๊ฐ(์ถ๊ตฌ)์ ํ ๋นํ์ต๋๋ค. switch ๋ฌธ ์์๋ ๊ฐ์ ๋ณ์๋ช ์ผ๋ก ๋๊ตฌ๋ผ๋ ๊ฐ์ ํ ๋นํ๋๋ฐ์. sports ๋ณ์์ ์ค์ฝํ๊ฐ ๋ค๋ฅด๋ฏ๋ก ๊ฐ๊ฐ์ ๊ฐ์ ์ ์งํ๊ฒ ๋ฉ๋๋ค. switch ๋ฌธ ์์์ console.log ๊ฒฐ๊ณผ๋ ๋๊ตฌ์ด๊ณ , switch ๋ฌธ ๋ฐ์์ console.log์ ๊ฒฐ๊ณผ๋ ์ถ๊ตฌ์ ๋๋ค.
์ด๋ฒ ํฌ์คํ ์์ ๋ค๋ฃฌ ๋ด์ฉ์ด ๊ฐ๋จํ๋ค๋ณด๋ ์ด๋ฒ ํฌ์คํ ์ ์ปจํ ์ธ ๊ฐ ๋ฐ ์ ๋๋ ์๋ก ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค์. ์์ ๋ชฉ์ผ๋ก ๋๋์์ผ๋ ํ์ํ ๊ธ๋ง ์บ์นํ์ ์ ๋์๋์ จ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค. JERRY์์ต๋๋ค :)
'javascript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript/ES6] const ํค์๋ (0) 2019.05.07 [Javascript/ES6] for ( ) ๋ฌธ & NodeList (0) 2019.05.05 [JavaScript/ES6] let ๊ณผ this ํค์๋ (0) 2019.04.29 [JavaScript/VanillaJS] ์กฐ์ฉํ ์๋(silence alarm) ์น ์ฑ ๋ง๋ค๊ธฐ - ๋ฒ์ธํธ(feat. ES6) (1) 2019.04.28 [JavaScript/VanillaJS] ์กฐ์ฉํ ์๋(silence alarm) ์น ์ฑ ๋ง๋ค๊ธฐ - 5 (2) 2019.04.27