# ์กฐ๊ฑด๋ฌธ(Condition)
์กฐ๊ฑด๋ฌธ์ ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง์กฑํ ๋๋ง ์ฝ๋๋ฅผ ์คํํ๊ฒ ํ๋ ๋ฌธ๋ฒ์ ๋๋ค. ์กฐ๊ฑด์ ๋ฐ๋ผ์ ๋ค๋ฅธ ๋์์ ์คํํ๊ณ ์ถ์ ๋ ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํฉ๋๋ค. ํน์ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋๋ ์ฌ๋ฌ ๊ฐ์ง ์ผ์ด์ค๋ฅผ ๊ณ ๋ คํด์ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋ฏ๋ก ๋ณ์ ๋ค์์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ฌธ๋ฒ์ ๋๋ค.
์กฐ๊ฑด๋ฌธ์ ๋ํ ์ดํด๋ฅผ ๋๊ธฐ ์ํด ๊ฐ๋จํ ์์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ํ ํฐ์ผ์ ๋์ ๋ ์ฑ์ธ์ด๋ฉด 10,000์์ ๋ด๊ณ ํ์์ด๋ฉด 5,000์์ ๋ด์ผ ํ๋ ๊ฒฐ์ ๋ก์ง์ ์์ฑํ๋ค๊ณ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ง์ฝ, ๋์ด๊ฐ 18์ธ ์ด์์ด๋ฉด 10,000์์ ๋ธ๋ค.
๊ทธ๋ ์ง ์๊ณ ๋์ด๊ฐ 17์ธ ์ดํ๋ฉด 5,000์์ ๋ธ๋ค.
์ ๋ก์ง์ ์กฐ๊ฑด๋ฌธ์ผ๋ก ์์ฑํด ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
var age = 24;
if (age >= 18) {
console.log('10,000์ ์ง๋ถ');
} else {
console.log('5,000์ ์ง๋ถ');
}
# if ์กฐ๊ฑด๋ฌธ
if ๋ฌธ์ ์ฃผ์ด์ง ์กฐ๊ฑด์์ด ์ฐธ์ด๋ฉด if ๋ฌธ ๋ธ๋ก ์์ ์๋ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
if (์กฐ๊ฑด์) {
// ์กฐ๊ฑด์์ด ๋ง์ผ๋ฉด ์ด ๋ธ๋ก ์์ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค.
}
์ ๋ฌธ๋ฒ์ ์ดํดํ๊ธฐ ์ํด ๊ฐ๋จํ ์์ ๋ฅผ ๋ณด๊ฒ ์ต๋๋ค.
var a = 10;
if (a === 10) {
console.log('10์ด ๋ง์ต๋๋ค');
}
์ ์ฝ๋๋ ๋ณ์ a
์ 10
์ด ํ ๋น๋์ด ์์ผ๋ฏ๋ก if ๋ฌธ ์์ ์ฝ๋์ธ console.log('10์ด ๋ง์ต๋๋ค')
๊ฐ ์คํ๋ฉ๋๋ค. ์ด๋ ๊ฒ ๋ธ๋ก ์์ ์ฝ๋๊ฐ ํ ์ค์ด๋ ์ฌ๋ฌ ์ค์ด๋ ๋ธ๋ก ์์ ์ฝ๋๋ ๋ชจ๋ ์คํ๋ฉ๋๋ค.
# if else ๋ฌธ
์์์ ๋ฐฐ์ด if ๋ฌธ์์ ์กฐ๊ฑด์์ด ์ฐธ์ด ์๋๋ผ ๊ฑฐ์ง์ธ ๊ฒฝ์ฐ์ ์คํ๋ ์ฝ๋๋ ์๋์ ๊ฐ์ด ์์ฑํ ์ ์์ต๋๋ค.
if (์กฐ๊ฑด์) {
// ์กฐ๊ฑด์์ด ๋ง์ผ๋ฉด ์ด ๋ธ๋ก ์์ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค.
} else {
// ์ ์กฐ๊ฑด์์ด ํ๋ฆฌ๋ฉด ์ด ๋ธ๋ก ์์ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค.
}
์ ๋ฌธ๋ฒ์ ์ด์ฉํ์ฌ ์ ์์ ์ else ๊ตฌ๋ฌธ์ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค.
var a = 30;
if (a === 10) {
console.log('10์ด ๋ง์ต๋๋ค');
} else {
console.log('a๊ฐ 10์ด ์๋๋ฉด ์ด ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค');
}
์ ์ฝ๋์์ ๋ณ์ a
์ ๊ฐ์ด 10
์ด ์๋๊ธฐ ๋๋ฌธ์ else
๋ฌธ ๋ธ๋ก ์์ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค. ์ต์ข
์ ์ผ๋ก a๊ฐ 10์ด ์๋๋ฉด ์ด ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค
๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
# else if ๋ฌธ
else if ๋ฌธ์ ์กฐ๊ฑด์์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์๋ ๋ฌธ๋ฒ์ ๋๋ค. ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
if (์ฒซ๋ฒ์งธ์กฐ๊ฑด์) {
// ์ฒซ๋ฒ์งธ์กฐ๊ฑด์์ด ๋ง์ผ๋ฉด ์ด ๋ธ๋ก ์์ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค.
} else if (๋๋ฒ์งธ์กฐ๊ฑด์) {
// ๋๋ฒ์งธ์กฐ๊ฑด์์ด ๋ง์ผ๋ฉด ์ด ๋ธ๋ก ์์ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค.
}
์์์ ์กฐ๊ฑด๋ฌธ์ ์๊ฐํ ๋ ์ฌ์ฉํ๋ ์กฐ๊ฑด์ ๋ค์ ๋ค๊ณ ์์ ์๋๋ฆฌ์ค๋ฅผ ์ข ๋ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค.
๋ง์ฝ ๋์ด๊ฐ 65์ธ ์ด์์ด๋ฉด ๋์ ๋ด์ง ์๋๋ค.
๋ง์ฝ ๋์ด๊ฐ 18์ธ ~ 65์ธ ์ฌ์ด๋ฉด 10,000์์ ๋ธ๋ค.
๊ทธ๋ ์ง ์๊ณ ๋์ด๊ฐ 17์ธ ์ดํ๋ฉด 5,000์์ ๋ธ๋ค.
์ ์กฐ๊ฑด์ ์ฝ๋๋ก ์์ฑํด ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
var age = 24;
if (age > 65) {
console.log('๋ฌด๋ฃ');
} else if (18 <= age && age <= 65) {
console.log('10,000์ ์ง๋ถ');
} else {
console.log('5,000์ ์ง๋ถ');
}
์ ์ฝ๋์์ age
๊ฐ์ด 24์ด๋ฏ๋ก 18์ธ ์ด์์ด๊ณ 65์ธ ์ดํ์ธ else if ๊ตฌ๋ฌธ์ ํด๋น๋ฉ๋๋ค. ๋ฐ๋ผ์, else if
๋ฌธ ๋ธ๋ก ์์ ์๋ ์ฝ๋๊ฐ ์คํ๋์ด 10,000์ ์ง๋ถ
์ด ์ถ๋ ฅ๋ฉ๋๋ค.
# switch ๋ฌธ
switch ๋ฌธ์ ์กฐ๊ฑด ์์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ์ ์ฌ์ฉํ ์ ์๋ ์กฐ๊ฑด๋ฌธ์ ๋๋ค. ๋ฐ๋ก ์์์ ๋ฐฐ์ด else if ๊ตฌ๋ฌธ๊ณผ ์ญํ ์ด ๊ฐ์ต๋๋ค. ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
switch (๋ณ์) {
case ๊ฐ1:
// ๋ณ์๊ฐ ๊ฐ1์ด๋ฉด ์คํํ ๋ก์ง
break;
case ๊ฐ2:
// ๋ณ์๊ฐ ๊ฐ2์ด๋ฉด ์คํํ ๋ก์ง
break;
default:
// ๋ณ์๊ฐ ์ ์ด๋ค ์ผ์ด์ค์๋ ํด๋นํ์ง ์๋ ๊ฒฝ์ฐ ์คํํ ๋ก์ง
}
a์ ๊ฐ์ ๋ฐ๋ผ ์ถ๋ ฅ๊ฐ์ด ๋ฌ๋ผ์ง๋ ๊ฐ๋จํ ์์ ์ฝ๋๋ฅผ ๋ณด๊ฒ ์ต๋๋ค.
var num = 33;
switch (num) {
case 10:
console.log('10์
๋๋ค');
break;
case 33:
console.log('33์
๋๋ค');
break;
default:
console.log('10๊ณผ 33์ด ์๋ ๋ค๋ฅธ ์ซ์์
๋๋ค.');
}
์ ์ฝ๋๊ฐ ์คํ๋๋ฉด 33์
๋๋ค
๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ๋ง์ฝ num
๊ฐ์ด 20์ด๋ผ๋ฉด default
๋ธ๋ก์ ์ ์ํ 10๊ณผ 33์ด ์๋ ๋ค๋ฅธ ์ซ์์
๋๋ค.
๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.