-
JavaScript ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด - ์ ์ด๋ฌธ๐ FrontEnd/JavaScript 2022. 5. 29. 02:27
์์ํ๋ฉด์
์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด๋ฅผ ๊ณต๋ถํฉ๋๋ค. ์ด๋ฒ์ ์ ์ด๋ฌธ์ ์์ ์ ํจ๊ป ๊ณต๋ถํฉ๋๋ค.
1. ์ ์ด๋ฌธ์ด๋?
- ์ ์ด๋ฌธ์ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ ์ดํ ์ ์๋๋ก ๋์์ฃผ๋ ์คํ๋ฌธ์ ๋งํฉ๋๋ค.
- ์ ์ด๋ฌธ์ ์ธ ๊ฐ์ง๋ก ๋ถ๋ฅํ ์ ์์ต๋๋ค.
- '์กฐ๊ฑด ๋ง์กฑ ์ฌ๋ถ์ ๋ฐ๋ผ ์คํ๋ฌธ์ ์ ์ดํ ์ ์๋ ์กฐ๊ฑด๋ฌธ' -> if / else / else if
- '๋ณ์์ ์ผ์นํ๋ ๊ฒฝ์ฐ์ ๊ฐ์ ๋ฐ๋ผ ์คํ๋ฌธ์ ์ ์ดํ ์ ์๋ ์ ํ๋ฌธ' -> switch
- 'ํน์ ์คํ๋ฌธ์ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณต ์คํํ ์ ์๋๋ก ํ๋ ๋ฐ๋ณต๋ฌธ' -> while / for
2. ์กฐ๊ฑด๋ฌธ
(1) if ๋ฌธ
- if ๋ฌธ์ ์กฐ๊ฑด์์ ๋ง์กฑ(true)ํ ๊ฒฝ์ฐ์๋ง ์คํ๋ฌธ์ ์คํํฉ๋๋ค.
// ๊ธฐ๋ณธํ if (์กฐ๊ฑด์) { ์คํ๋ฌธ; }
(1) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>if ๋ฌธ</title> <script type="text/javascript"> let exerciseTime = prompt("์ผ์ฃผ์ผ์ ๋ช ๋ถ ์ด๋ํ๋์?", "0"); if (exerciseTime >= 150) { // ์ผ์ฃผ์ผ์ 150๋ถ ์ด์์ผ ๊ฒฝ์ฐ์๋ง ์ถ๋ ฅ๋ฌธ์ ์คํํฉ๋๋ค document.write("์ ํ๊ณ ๊ณ์ธ์!") } </script> </head> <body> </body> </html>
(2) else ๋ฌธ
- else ๋ฌธ์ ์กฐ๊ฑด์์ ๋ง์กฑ(true)ํ ๊ฒฝ์ฐ์ ๋ง์กฑํ์ง ์์์(false) ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์คํ๋๋ ์คํ๋ฌธ์ด ๋ฌ๋ผ์ง๋๋ค.
- ์ฆ, ๋ ๊ฐ์ง ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ์ ์์ต๋๋ค.
// ๊ธฐ๋ณธํ if (์กฐ๊ฑด์) { ์คํ๋ฌธ1; } else { ์คํ๋ฌธ2; }
(2) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>else ๋ฌธ</title> <script type="text/javascript"> let exerciseTime = prompt("์ผ์ฃผ์ผ์ ๋ช ๋ถ ์ด๋ํ๋์?", "0"); if (exerciseTime >= 150) { // ์ผ์ฃผ์ผ์ 150๋ถ ์ด์์ผ ๊ฒฝ์ฐ์๋ง ์ถ๋ ฅ๋ฌธ์ ์คํํฉ๋๋ค document.write("์ ํ๊ณ ๊ณ์ธ์!") } else { // 150๋ถ ๋ฏธ๋ง์ผ ๊ฒฝ์ฐ ์คํํฉ๋๋ค document.write("์ธ๊ณ๋ณด๊ฑด๊ธฐ๊ตฌ(WHO)๋ ์ฑ์ธ๋ค์๊ฒ ์ผ์ฃผ์ผ์ 150๋ถ ์ด์ ์ด๋ํ ๊ฒ์ ๊ถ์ฅํ๊ณ ์์ต๋๋ค!") } </script> </head> <body> </body> </html>
(3) else if ๋ฌธ
- else if ๋ฌธ์ ๋ ๊ฐ์ง ์ด์์ ์กฐ๊ฑด์์ด ์์ต๋๋ค.
- ๊ทธ ๋ฐ์ ์ ํด๋์ ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์์์ ๋์ ์คํ๋ฌธ ๋ํ ์กด์ฌํฉ๋๋ค.
// ๊ธฐ๋ณธํ if (์กฐ๊ฑด์1) { ์คํ๋ฌธ1; } else if (์กฐ๊ฑด์2) { ์คํ๋ฌธ2; } else if (์กฐ๊ฑด์3) { ์คํ๋ฌธ3; } else { ์คํ๋ฌธ4; }
(3) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>else if ๋ฌธ</title> <script type="text/javascript"> let exerciseTime = prompt("์ผ์ฃผ์ผ์ ๋ช ๋ถ ์ด๋ํ๋์?", "0"); if (exerciseTime >= 2940) { // ์ผ์ฃผ์ผ์ 2940๋ถ ์ด์์ผ ๊ฒฝ์ฐ (์ฃผ 7์ผ 7์๊ฐ ์ด์ ใทใท) document.write("์ ์์ด์๊ตฐ์! ํญ์ ์ข์ ๊ฒฐ๊ณผ๊ฐ ๋ฐ๋ฅด๊ธธ ๋ฐ๋๋๋ค!") } else if (exerciseTime < 2940 && exerciseTime >= 150) { // 150๋ถ ์ด์ ~ 2940๋ถ ๋ฏธ๋ง์ธ ๊ฒฝ์ฐ document.write("์ด๋์ ์ ์ฑ๊ธฐ์๊ณ ์๊ตฐ์! ๊ฑด๊ฐ์ด ์ต๊ณ ์ ๋๋ค!") } else if (exerciseTime < 150 && exerciseTime >= 1) { // 1๋ถ ์ด์ ~ 150๋ถ ๋ฏธ๋ง document.write("์ด๋๋์ ์กฐ๊ธ ๋ ๋๋ ค๋ณผ๊น์? ์์์ 10๋ถ์ฉ๋ง ๋ ๋๋ฆฌ๊ธฐ๋ก!") } else { document.write("?? : ์ด๊ฑด ์ข..") } </script> </head> <body> </body> </html>
(4) ์ค์ฒฉ if ๋ฌธ
- ์ค์ฒฉ if ๋ฌธ์ if ๋ฌธ ๋ด๋ถ์ if ๋ฌธ์ด ์ค์ฒฉ๋์ด ์๋ ๊ฒ์ ๋งํฉ๋๋ค.
// ๊ธฐ๋ณธํ if (์กฐ๊ฑด์1) { if (์กฐ๊ฑด์2) { ์คํ๋ฌธ; } }
(4) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>์ค์ฒฉ if๋ฌธ</title> <script type="text/javascript"> let id = "id"; // ์์ด๋ let pwd = "12345a"; // ๋น๋ฐ๋ฒํธ // ๋ฐฉ๋ฌธ์์๊ฒ ์์ด๋๋ฅผ ์ ๋ ฅ๋ฐ์ต๋๋ค let user_id = prompt("์์ด๋๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์.", ""); // ๋ฐฉ๋ฌธ์์๊ฒ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅ๋ฐ์ต๋๋ค. let user_pwd = prompt("๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์.", ""); if (id == user_id) { // ์์ด๋๊ฐ ์ผ์นํ ๊ฒฝ์ฐ if (pwd == user_pwd) { // ์์ด๋๊ฐ ์ผ์นํ๋ฉด์ ๋น๋ฐ๋ฒํธ๊ฐ ์ผ์นํ ๊ฒฝ์ฐ document.write(user_id + "๋ ๋ฐ๊ฐ์ต๋๋ค!") } else { // ์์ด๋๋ ์ผ์นํ์ง๋ง ๋น๋ฐ๋ฒํธ๊ฐ ์ผ์นํ์ง ์์ ๊ฒฝ์ฐ alert("๋น๋ฐ๋ฒํธ๊ฐ ์ผ์นํ์ง ์์ต๋๋ค. ๋ค์ ์ ๋ ฅํด์ฃผ์ธ์.") location.reload(); // ๋ธ๋ผ์ฐ์ ์๋ก ๊ณ ์นจ } } else { // ์์ด๋๊ฐ ์ผ์นํ์ง ์์ ๊ฒฝ์ฐ alert("์์ด๋๊ฐ ์ผ์นํ์ง ์์ต๋๋ค. ๋ค์ ์ ๋ ฅํด์ฃผ์ธ์."); location.reload(); } </script> </head> <body> </body> </html>
3. ์ ํ๋ฌธ
(1) switch ๋ฌธ
- switch ๋ฌธ์ ์ด๋ค ๋ณ์์ ๊ฐ์ ๋ฐ๋ผ์ ๋ฌธ์ฅ์ ์คํํ ์ ์๋๋ก ํ๋ ์ ์ด๋ฌธ์ ๋๋ค.
- if ๋ฌธ๊ณผ ๋น์ทํ์ง๋ง switch ๋ฌธ์ ๋ชจ๋ ์กฐ๊ฑด์ ํ์ธํ์ง ์๊ณ , ์กฐ๊ฑด์ ๋ง๊ฒ๋๋ฉด break ๋ฅผ ํตํด ์ฆ์ ์กฐ๊ฑด๋ฌธ์ฅ์์ ๋ฒ์ด๋ ์ ์์ต๋๋ค.
// ๊ธฐ๋ณธํ let ๋ณ์ = ์ด๊ธฐ ๊ฐ; switch (๋ณ์) { case ๊ฐ1: ์คํ๋ฌธ1; break; case ๊ฐ2: ์คํ๋ฌธ2; break; default: ์คํ๋ฌธ3; }
(1) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>์ค์์น ๋ฌธ</title> <script type="text/javascript"> let site = prompt("๋ค์ด๋ฒ, ๋ค์, ๊ตฌ๊ธ ์ค ์ฆ๊ฒจ ์ฌ์ฉํ๋ ํฌํธ ์ฌ์ดํธ๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์.", ""); switch (site) { case "๋ค์ด๋ฒ": document.write("๋ค์ด๋ฒ๋ฅผ ์ ํํ์ จ๊ตฐ์!"); // "๋ค์ด๋ฒ" ๋ฅผ ์ ๋ ฅํ ๊ฒฝ์ฐ break; case "๋ค์": document.write("๋ค์์ ์ ํํ์ จ๊ตฐ์!"); // "๋ค์" ์ ์ ๋ ฅํ ๊ฒฝ์ฐ break; case "๊ตฌ๊ธ": document.write("๊ตฌ๊ธ์ ์ ํํ์ จ๊ตฐ์!"); // "๊ตฌ๊ธ" ์ ์ ๋ ฅํ ๊ฒฝ์ฐ break; // ์ผ์นํ๋ ๊ฐ์ด ์์ ๊ฒฝ์ฐ default: alert("๋ณด๊ธฐ ์ค์ ์๋ ์ฌ์ดํธ์ ๋๋ค."); location.reload(); } </script> </head> <body> </body> </html>
4. ๋ฐ๋ณต๋ฌธ
(1) while ๋ฌธ
- while ๋ฌธ์ ์กฐ๊ฑด์์ด true ์ผ ๊ฒฝ์ฐ ๊ณ์ ๋ฐ๋ณตํ๋ ๋ฐ๋ณต๋ฌธ์ ๋๋ค.
// ๊ธฐ๋ณธํ let ๋ณ์ = ์ด๊ธฐ ๊ฐ; while (์กฐ๊ฑด์) { ์คํ๋ฌธ; ์ฆ๊ฐ์; }
(1) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>while ๋ฌธ</title> <script type="text/javascript"> let i = 1; while (i <= 10) { document.write("๋ฐ๋ณต" + i, "<br/>"); i++; } </script> </head> <body> </body> </html>
(2) do while ๋ฌธ
- while ๋ฌธ์ ๊ฒฝ์ฐ์๋ ์กฐ๊ฑด์์ ๋ง์กฑ ์ฌ๋ถ๋ฅผ ๋จผ์ ๊ฒ์ฌํ ํ, ์ค๊ดํธ์ ์๋ ์คํ๋ฌธ์ ์คํ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- ๋ฐ๋ฉด do while ๋ฌธ์ ๋ฐ๋์ ํ ๋ฒ์ ์คํ๋ฌธ์ ์คํํ๊ณ , ์กฐ๊ฑด์์ ๊ฒ์ฌํฉ๋๋ค.
// ๊ธฐ๋ณธํ let ๋ณ์ = ์ด๊ธฐ ๊ฐ; do { ์คํ๋ฌธ; ์ฆ๊ฐ์; } while (์กฐ๊ฑด์)
(2) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>do while ๋ฌธ</title> <script type="text/javascript"> let result = ''; let i = 0; do { i += 1; result = result + i; } while (i < 5); document.write(result); // ๊ฒฐ๊ณผ๋ 12345 (ํ ๋ฒ์ ๋ฌด์กฐ๊ฑด ์คํํ๊ธฐ ๋๋ฌธ์ ๋๋ค) </script> </head> <body> </body> </html>
(3) for ๋ฌธ
- for ๋ฌธ ๋ํ while ๋ฌธ๊ณผ ๊ฐ์ด ๋ฐ๋ณต๋ฌธ์ ๋๋ค. ์กฐ๊ฑด์์ ๋ง์กฑํ ๋ ๊น์ง ํน์ ์คํ๋ฌธ์ ๋ฐ๋ณตํ์ฌ ์คํํฉ๋๋ค.
// ๊ธฐ๋ณธํ for (์ด๊ธฐ ๊ฐ; ์กฐ๊ฑด์; ์ฆ๊ฐ์) { ์คํ๋ฌธ; }
(3) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>for ๋ฌธ</title> <script type="text/javascript"> for (let i = 1; i <= 10; i++) { // ์ค๊ดํธ ๋ด์ ์คํ๋ฌธ์ 10๋ฒ ๋ฐ๋ณตํฉ๋๋ค // ๋ณ์ i๊ฐ 1์ฉ ์ฆ๊ฐ๋์ด 10๋ฒ ์ถ๋ ฅ๋ฉ๋๋ค document.write("๋ฐ๋ณต" + i, "<br/>"); } </script> </head> <body> </body> </html>
(4) break ๋ฌธ
- ๋ฐ๋ณต๋ฌธ์ธ while ๋ฌธ ๋๋ for ๋ฌธ์์ break ๋ฌธ์ ์คํํ๋ฉด ์กฐ๊ฑด์๊ณผ ์๊ด์์ด ๊ฐ์ ๋ก ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃ ์ํต๋๋ค.
// ๊ธฐ๋ณธํ for (์ด๊ธฐ ๊ฐ; ์กฐ๊ฑด์; ์ฆ๊ฐ์) { break; ์คํ๋ฌธ; } while (์กฐ๊ฑด์) { break; ์คํ๋ฌธ; ์ฆ๊ฐ์; }
(4) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>break</title> <script type="text/javascript"> for (let i = 1; i <= 10; i++) { if (i == 6) { break; } document.write(i, "<br/>") } </script> </head> <body> </body> </html>
(5) continue ๋ฌธ
- ๋ฐ๋ณต๋ฌธ์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
- while ๋ฌธ์ ์ฌ์ฉํ์ ๊ฒฝ์ฐ continue ๋ฌธ ๋ค์์ ์คํ๋ฌธ์ ๋ฌด์ํ๊ณ ๋ฐ๋ก ์กฐ๊ฑด์์ผ๋ก ์ด๋ํ์ฌ ์กฐ๊ฑด ๊ฒ์ฌ๋ฅผ ์ํํฉ๋๋ค.
- break ์ ์ ์ฌํ์ง๋ง, break ๋ ๋ฐ๋ณต๋ฌธ ์์ฒด๋ฅผ ํ์ถํ ๋ ์ฃผ๋ก ์ฌ์ฉํ๊ณ continue ๋ ๋ฐ๋ณต๋ฌธ ๋ด์ ํน์ ์กฐ๊ฑด ํ ๋ถ๋ถ๋ง์ ์ ์ธํ๊ณ ์ ํ ๋ ์ฌ์ฉํฉ๋๋ค.
// ๊ธฐ๋ณธํ for (์ด๊ธฐ ๊ฐ; ์กฐ๊ฑด์; ์ฆ๊ฐ์) { continue; // ๋ค์์ ์ค๋ ์คํ๋ฌธ์ ๋ฌด์ํ๊ณ ๋ฐ๋ก ์ฆ๊ฐ์์ผ๋ก ์ด๋ํฉ๋๋ค ์คํ๋ฌธ; } while (์กฐ๊ฑด์) { ์ฆ๊ฐ์; continue; ์คํ๋ฌธ; }
(5) ์์
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>continue ๋ฌธ</title> <script type="text/javascript"> for (let i = 1; i <= 10; i++) { // ๋ณ์ i์ ๊ฐ์ด 10์ด ๋ ๋๊น์ง ๋ฐ๋ณต๋ฌธ์ ์คํํฉ๋๋ค if (i % 2 == 0) { continue; // ๋ณ์ i์ ๊ฐ์ด 2์ ๋ฐฐ์์ผ ๊ฒฝ์ฐ์๋ง ์คํํฉ๋๋ค } // ๋ณ์ i์ ๊ฐ์ด 2์ ๋ฐฐ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ์ถ๋ ฅ๋ฌธ์ ์คํํฉ๋๋ค document.write(i, "<br/>") } </script> </head> <body> </body> </html>
(6) ์ค์ฒฉ for ๋ฌธ
- ์ค์ฒฉ if ๋ฌธ๊ณผ ๊ฐ์ด for ๋ฌธ ๋ด๋ถ์ for ๋ฌธ์ ์ฌ์ฉํ ๊ฒ์ ์ค์ฒฉ for ๋ฌธ์ด๋ผ๊ณ ํฉ๋๋ค.
// ๊ธฐ๋ณธํ for (์ด๊ธฐ ๊ฐ; ์กฐ๊ฑด์; ์ฆ๊ฐ์) { // ๋ฐ๊นฅ์ชฝ for ๋ฌธ for (์ด๊ธฐ ๊ฐ; ์กฐ๊ฑด์; ์ฆ๊ฐ์) { // ์์ชฝ for ๋ฌธ ์คํ๋ฌธ; } }
(6) ์์ - ๊ตฌ๊ตฌ๋จ
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>๊ตฌ๊ตฌ๋จ ๋ง๋ค๊ธฐ</title> <script type="text/javascript"> for (let i = 2; i <= 9; i++) { document.write("<h1>" + i + "๋จ</h1>") // 2๋จ๋ถํฐ 9๋จ๊น์ง ๋จ์ ์ถ๋ ฅ for (let j = 1; j <= 9; j++){ document.write(i + "x" + j + "=" + i*j + "<br/>") } } </script> </head> <body> </body> </html>
๋ง๋ฌด๋ฆฌํ๋ฉฐ
์ด๋ ๊ฒ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ ์ด๋ฌธ์ ๊ณต๋ถํด ๋ณด์์ต๋๋ค.
์ ์ด๋ฌธ์ ๋์ ์๋ฆฌ๊ฐ ์ฒ์์ ๋ค์ ์์ํ์ค ์ ์์ง๋ง, ๊ณ์ ์ ํ์๋ค๋ณด๋ฉด ์ต์ํด์ง์ค ๊ฒ์ ๋๋ค :-)
๋๊ธ๊ณผ ๊ณต๊ฐ์ ํญ์ ํ์์ ๋๋ค!
'๐ FrontEnd > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JavaScript ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด - ํจ์ (0) 2022.06.03 JavaScript ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด - ๊ฐ์ฒด (0) 2022.05.30 JavaScript ์๋ฐ์คํฌ๋ฆฝํธ ์ฐ์ฐ์ ์ฐ์ ์์ (0) 2022.05.28 JavaScript ์๋ฐ์คํฌ๋ฆฝํธ ๋ณ์ ์ ์ธ ์ ์ฃผ์ ์ฌํญ (0) 2022.05.27 JavaScript ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ์์ฑ ์ ์ฃผ์ ์ฌํญ (0) 2022.05.24