ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Javascript/ES6] try - catch ์™€ switch - case
    javascript 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์˜€์Šต๋‹ˆ๋‹ค :)

    ๋Œ“๊ธ€

Posted by Bejerry.