์๋ฐ์คํฌ๋ฆฝํธ ์กฐ๊ฑด๋ฌธ์ ๋ก์ง์ ์ ์ดํ๋ ๋ฐ ํ์์ ์ธ ์ญํ ์ ํฉ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ค์ํ ์กฐ๊ฑด๋ฌธ์ ๋ํด ์์๋ณด๊ณ , ์ด๋ณด์๋ ์ฝ๊ฒ ์ดํดํ ์ ์๋ ์์ ์ ์ค์ต์ ํตํด ํ์ฉ๋ฒ์ ์ตํ๋ณด๊ฒ ์ต๋๋ค.
โฃ ๋ชฉ์ฐจ
์๋ฐ์คํฌ๋ฆฝํธ ์กฐ๊ฑด๋ฌธ์ ์ฐ์ฐ์์ ํจ๊ป ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์ฐ์ฐ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋ ํฌ์คํ
์ ์ฐธ๊ณ ํด ์ฃผ์ธ์๐
์กฐ๊ฑด๋ฌธ์ ๊ธฐ๋ณธ ๊ฐ๋ ๐
์กฐ๊ฑด๋ฌธ์ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ ์ดํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ ๋๋ง ์ฝ๋ ๋ธ๋ก์ด ์คํ๋๋๋ก ํฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์๋ if, else, else if, switch, ๊ทธ๋ฆฌ๊ณ ์ผํญ ์ฐ์ฐ์(? :)๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด๋ฌธ์ ์์ฑํ ์ ์์ต๋๋ค.
if ๋ฌธโ
์๋ฐ์คํฌ๋ฆฝํธ if ๋ฌธ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์กฐ๊ฑด๋ฌธ์
๋๋ค. ์กฐ๊ฑด์ด ์ฐธ์ผ ๋ ์ฝ๋ ๋ธ๋ก์ ์คํํฉ๋๋ค.
if ๋ฌธ์ ๋จ์ผ ์กฐ๊ฑด์ ์ฒ๋ฆฌํ ๋ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ์กฐ๊ฑด์ด ์ฐธ์ผ ๋๋ง ์ฝ๋ ๋ธ๋ก์ ์คํํ๊ณ , ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ์๋ ์๋ฌด๋ฐ ๋์๋ ํ์ง ์์ต๋๋ค. ์ด๋ ๋งค์ฐ ๊ฐ๋จํ ์กฐ๊ฑด ์ฒ๋ฆฌ์ ์ ์ฉํฉ๋๋ค.
if (condition) {
// ์กฐ๊ฑด์ด ์ฐธ์ผ ๋ ์คํ๋๋ ์ฝ๋
}
- ์์
let age = 18;
if (age >= 18) {
console.log("์ฑ์ธ์
๋๋ค.");
}
else์ else if๐
else ๋ฌธ์ if ๋ฌธ์ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๋ ์คํ๋๋ ์ฝ๋๋ฅผ ์ ์ํฉ๋๋ค. else if ๋ฌธ์ ์ฌ๋ฌ ์กฐ๊ฑด์ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
else if ๋ฌธ์ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ์กฐ๊ฑด์ ์์ฐจ์ ์ผ๋ก ๊ฒ์ฌํ ์ ์์ต๋๋ค. ๊ฐ ์กฐ๊ฑด์ ์์๋๋ก ํ๊ฐ๋๋ฉฐ, ์ฒซ ๋ฒ์งธ๋ก ์ฐธ์ธ ์กฐ๊ฑด์ ์ฝ๋ ๋ธ๋ก์ด ์คํ๋ฉ๋๋ค. ๋ชจ๋ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ else ๋ธ๋ก์ด ์คํ๋ฉ๋๋ค.
if (condition1) {
// ์กฐ๊ฑด1์ด ์ฐธ์ผ ๋ ์คํ๋๋ ์ฝ๋
} else if (condition2) {
// ์กฐ๊ฑด2๊ฐ ์ฐธ์ผ ๋ ์คํ๋๋ ์ฝ๋
} else {
// ๋ชจ๋ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๋ ์คํ๋๋ ์ฝ๋
}
- ์์
let score = 75;
if (score >= 90) {
console.log("A ํ์ ");
} else if (score >= 80) {
console.log("B ํ์ ");
} else if (score >= 70) {
console.log("C ํ์ ");
} else {
console.log("F ํ์ ");
}
switch ๋ฌธ๐
์๋ฐ์คํฌ๋ฆฝํธ switch ๋ฌธ์ ๋ค์ค ์กฐ๊ฑด์ ์ฒ๋ฆฌํ ๋ ์ ์ฉํฉ๋๋ค. ๊ฐ ์กฐ๊ฑด์ case๋ก ๋์ดํ๊ณ , ์กฐ๊ฑด์ด ์ผ์นํ๋ ๊ฒฝ์ฐ ํด๋น ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
switch ๋ฌธ์ ์ฌ๋ฌ ๊ฐ์ if-else ๋ฌธ์ ๋จ์ํํ ์ ์์ต๋๋ค. ๊ฐ case๋ ํน์ ๊ฐ๊ณผ ์ผ์นํ๋์ง ๊ฒ์ฌํ๋ฉฐ, ์ผ์นํ ๊ฒฝ์ฐ ํด๋น ์ฝ๋ ๋ธ๋ก์ด ์คํ๋ฉ๋๋ค. break ๋ฌธ์ case ๋ธ๋ก์ ์ข
๋ฃ์ํค๋ฉฐ, default ๋ธ๋ก์ ๋ชจ๋ case๊ฐ ์ผ์นํ์ง ์์ ๋ ์คํ๋ฉ๋๋ค.
switch (expression) {
case value1:
// value1์ด ์ผ์นํ ๋ ์คํ๋๋ ์ฝ๋
break;
case value2:
// value2๊ฐ ์ผ์นํ ๋ ์คํ๋๋ ์ฝ๋
break;
default:
// ๋ชจ๋ ์กฐ๊ฑด์ด ์ผ์นํ์ง ์์ ๋ ์คํ๋๋ ์ฝ๋
}
- ์์
let day = 3;
switch (day) {
case 1:
console.log("์์์ผ");
break;
case 2:
console.log("ํ์์ผ");
break;
case 3:
console.log("์์์ผ");
break;
default:
console.log("์ฃผ๋ง");
}
์ผํญ ์ฐ์ฐ์๐ญ
์ผํญ ์ฐ์ฐ์๋ if-else ๋ฌธ์ ์งง๊ฒ ์์ฑํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ์ผํญ ์ฐ์ฐ์๋ ์ธ ๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ์ทจํ๊ธฐ ๋๋ฌธ์ ์ผํญ(ternary)์ด๋ผ๋ ์ด๋ฆ์ด ๋ถ์์ต๋๋ค. ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
condition ? expr1 : expr2;
์ฌ๊ธฐ์ condition์ด ์ฐธ์ด๋ฉด expr1์ด ์คํ๋๊ณ , ๊ฑฐ์ง์ด๋ฉด expr2๊ฐ ์คํ๋ฉ๋๋ค.
- ์์
let age = 18;
let message = (age >= 18) ? "์ฑ์ธ์
๋๋ค." : "๋ฏธ์ฑ๋
์์
๋๋ค.";
console.log(message);
์ผํญ ์ฐ์ฐ์๋ ๊ฐ๋จํ ์กฐ๊ฑด๋ฌธ์ ํ ์ค๋ก ์์ฑํ ์ ์์ด ์ฝ๋๊ฐ ์งง๊ณ ๊น๋ํด์ง๋๋ค. ๊ทธ๋ฌ๋ ์กฐ๊ฑด์ด ๋ณต์กํด์ง๋ฉด ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง ์ ์์ผ๋ฏ๋ก, ๊ฐ๋จํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ค์ต ๋ฌธ์ ๐ ๏ธ
๋ค์์ ์ง์ ํ์ด๋ณผ ์ ์๋ ์ค์ต ๋ฌธ์ ์ ๋๋ค.
- ์ซ์๋ฅผ ์ ๋ ฅ๋ฐ์ ์ง์์ธ์ง ํ์์ธ์ง ํ๋ณํ๋ ์กฐ๊ฑด๋ฌธ ์์ฑํ๊ธฐ.
- ์ฌ์ฉ์ ์ ์๋ฅผ ์ ๋ ฅ๋ฐ์ ํ์ ์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ ์์ฑํ๊ธฐ.
- ์์ผ์ ์ ๋ ฅ๋ฐ์ ์ฃผ์ค์ธ์ง ์ฃผ๋ง์ธ์ง ์ถ๋ ฅํ๋ switch ๋ฌธ ์์ฑํ๊ธฐ.
- ํ์ด
// 1. ์ง์ ํ์ ํ๋ณ
let num = 10;
if (num % 2 === 0) {
console.log("์ง์");
} else {
console.log("ํ์");
}
// 2. ํ์ ์ถ๋ ฅ
let score = 85;
if (score >= 90) {
console.log("A ํ์ ");
} else if (score >= 80) {
console.log("B ํ์ ");
} else if (score >= 70) {
console.log("C ํ์ ");
} else {
console.log("F ํ์ ");
}
// 3. ์ฃผ์ค ์ฃผ๋ง ์ถ๋ ฅ
let day = "Saturday";
switch (day) {
case "Monday":
case "Tuesday":
case "Wednesday":
case "Thursday":
case "Friday":
console.log("์ฃผ์ค");
break;
case "Saturday":
case "Sunday":
console.log("์ฃผ๋ง");
break;
default:
console.log("์๋ชป๋ ์
๋ ฅ");
}
๊ณ ๊ธ ์กฐ๊ฑด๋ฌธ ์ฌ์ฉ๋ฒ๐
์๋ฐ์คํฌ๋ฆฝํธ ๋ ผ๋ฆฌ ์ฐ์ฐ์(&&, ||, !)์ ์๋ฐ์คํฌ๋ฆฝํธ ์กฐ๊ฑด๋ฌธ์ ๊ฒฐํฉํ์ฌ ๋ ๋ณต์กํ ์กฐ๊ฑด์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๋ํ ์กฐ๊ฑด๋ฌธ์ ์ต์ ํํ์ฌ ์ฑ๋ฅ์ ํฅ์ํ ์ ์์ต๋๋ค.
let a = true;
let b = false;
if (a && b) {
console.log("๋ ๋ค ์ฐธ");
} else if (a || b) {
console.log("๋ ์ค ํ๋ ์ฐธ");
} else {
console.log("๋ ๋ค ๊ฑฐ์ง");
}
์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ ๋๋ ๊ฐ๋ ์ฑ์ ๋์ด๊ธฐ ์ํด ๊ฐ๋จ๋ช ๋ฃํ๊ฒ ์์ฑํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
ํต์ฌ ๋ด์ฉ๐