๐ ์ ์ด๋ฌธ ( control flow statements )
ํ๋ก๊ทธ๋จ์ ์์ฐจ์ ์ธ ํ๋ฆ์ ์ ์ดํด์ผ ํ ๋ ์ฌ์ฉํ๋ ์คํ๋ฌธ์ ์ ์ด๋ฌธ์ด๋ผ๊ณ ํ๋ค.
์ด๋ฌํ ์ ์ด๋ฌธ์๋ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ ๋ฑ์ด ํฌํจ๋๋ค.
๐ ์กฐ๊ฑด๋ฌธ ( conditional statements )
์กฐ๊ฑด๋ฌธ์ด๋ ํ๋ก๊ทธ๋จ ๋ด์์ ์ฃผ์ด์ง ํํ์์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ณ๋์ ๋ช ๋ น์ ์ํํ๋๋ก ์ ์ดํ๋ ์คํ๋ฌธ์ด๋ค.
์กฐ๊ฑด๋ฌธ ์ค์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ์คํ๋ฌธ์ if ๋ฌธ์ด๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํ ์ ์๋ ์กฐ๊ฑด๋ฌธ |
1. if ๋ฌธ |
2. if / else ๋ฌธ |
3. if / else if / else ๋ฌธ |
4. switch ๋ฌธ |
๐ค if ๋ฌธ
if ๋ฌธ์ ํํ์์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ ( true ) ์ด๋ฉด ์ฃผ์ด์ง ์คํ๋ฌธ์ ์คํํ๋ฉด, ๊ฑฐ์ง ( false ) ์ด๋ฉด ์๋ฌด๊ฒ๋ ์คํํ์ง ์๋๋ค.
if๋ฌธ์ ์์๋๋ก ํํํ๋ฉด ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํํํ ์ ์๋ค.
โ if ๋ฌธ์ ๋ฌธ๋ฒ
if (ํํ์) {
ํํ์์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ผ ๋ ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
}
โ ์์
var x = 10, y = 20;
if (x == y) {
document.write("x์ y๋ ๊ฐ์ต๋๋ค.");
}
if (x < y) {
document.write("x๊ฐ y๋ณด๋ค ์์ต๋๋ค.");
}
if (x > y) // ์คํ๋ ์คํ๋ฌธ์ด ํ ์ค๋ฟ์ด๋ผ๋ฉด ์ค๊ดํธ({})๋ฅผ ์๋ตํ ์ ์์.
document.write("x๊ฐ y๋ณด๋ค ํฝ๋๋ค.");
let year = prompt('ECMAScript-2015 ๋ช
์ธ๋ ๋ช ๋
๋์ ์ถํ๋์์๊น์?', '');
if (year == 2015) {
alert( "์ ๋ต์
๋๋ค!" );
alert( "์์ฃผ ๋๋ํ์๋ค์!" );
}
if ๋ฌธ์ ์ธ ๋๋ ์กฐ๊ฑด์ด ์ฐธ์ผ ๊ฒฝ์ฐ ์คํ๋๋ ๊ตฌ๋ฌธ์ด ๋จ ํ ์ค์ด๋๋ผ๋ ์ค๊ดํธ { } ๋ฅผ ์ฌ์ฉํด ์ฝ๋๋ฅผ ๋ธ๋ก์ผ๋ก ๊ฐ์ธ๋ ๊ฒ์ ์ถ์ฒํ๋ค.
์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋ ๊ฐ๋ ์ฑ์ด ์ฆ๊ฐํ๋ค.
๐ค else ๋ฌธ
if ๋ฌธ๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ else ๋ฌธ์ if ๋ฌธ์ ํํ์ ๊ฒฐ๊ณผ๊ฐ ๊ฑฐ์ง ( false ) ์ผ ๋ ์ฃผ์ด์ง ์คํ๋ฌธ์ ์คํํ๋ค.
if / else ๋ฌธ์ ์์๋๋ก ํํํ๋ฉด ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํํํ ์ ์๋ค.
โ else ๋ฌธ์ ๋ฌธ๋ฒ
if (ํํ์) {
ํํ์์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ผ ๋ ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
} else {
ํํ์์ ๊ฒฐ๊ณผ๊ฐ ๊ฑฐ์ง์ผ ๋ ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
}
โ ์์
var x = 10, y = 20;
if (x == y) {
document.write("x์ y๋ ๊ฐ์ต๋๋ค.");
} else {
if (x < y)
document.write("x๊ฐ y๋ณด๋ค ์์ต๋๋ค.");
else // ์คํ๋ ์คํ๋ฌธ์ด ํ ์ค๋ฟ์ด๋ผ๋ฉด ์ค๊ดํธ({})๋ฅผ ์๋ตํ ์ ์์.
document.write("x๊ฐ y๋ณด๋ค ํฝ๋๋ค.");
}
let year = prompt('ECMAScript-2015 ๋ช
์ธ๋ ๋ช ๋
๋์ ์ถํ๋์์๊น์?', '');
if (year == 2015) {
alert( '์ ๋ต์
๋๋ค!' );
} else {
alert( '์ค๋ต์
๋๋ค!' ); // 2015 ์ด์ธ์ ๊ฐ์ ์
๋ ฅํ ๊ฒฝ์ฐ
}
else ๋ค์ ์ด์ด์ง๋ ์ฝ๋ ๋ธ๋ก์ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๋ ์คํ๋๋ค.
๐ค else if ๋ฌธ
else if ๋ฌธ์ if ๋ฌธ์ฒ๋ผ ํํ์์ ์ค์ ํ ์ ์์ผ๋ฏ๋ก, ์ค์ฒฉ๋ if ๋ฌธ์ ์ข ๋ ๊ฐ๊ฒฐํ๊ฒ ํํํ ์ ์๋ค.
ํ๋์ ์กฐ๊ฑด๋ฌธ ์์์ if ๋ฌธ๊ณผ else ๋ฌธ์ ๋จ ํ๋ฒ๋ง ์ฌ์ฉํ ์ ์๋ค.
ํ์ง๋ง else if ๋ฌธ์ ์ฌ๋ฌ๋ฒ ์ฌ์ฉ๋์ด ๋ค์ํ ์กฐ๊ฑด์ ์ค์ ํ ์ ์๋ค.
if / else if / else ๋ฌธ์ ์์๋๋ก ํํํ๋ฉด ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํํํ ์ ์๋ค.
โ else if ๋ฌธ์ ๋ฌธ๋ฒ
if (ํํ์1) {
ํํ์1์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ผ ๋ ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
} else if (ํํ์2) {
ํํ์2์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ผ ๋ ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
} else {
ํํ์1์ ๊ฒฐ๊ณผ๋ ๊ฑฐ์ง์ด๊ณ , ํํ์2์ ๊ฒฐ๊ณผ๋ ๊ฑฐ์ง์ผ ๋ ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
}
โ ์์
var x = 10, y = 20;
if (x == y) {
document.write("x์ y๋ ๊ฐ์ต๋๋ค.");
} else if (x < y) {
document.write("x๊ฐ y๋ณด๋ค ์์ต๋๋ค.");
} else { // x > y์ธ ๊ฒฝ์ฐ
document.write("x๊ฐ y๋ณด๋ค ํฝ๋๋ค.");
}
let year = prompt('ECMAScript-2015 ๋ช
์ธ๋ ๋ช ๋
๋์ ์ถํ๋์์๊น์?', '');
if (year < 2015) {
alert( '์ซ์๋ฅผ ์ข ๋ ์ฌ๋ ค๋ณด์ธ์.' );
} else if (year > 2015) {
alert( '์ซ์๋ฅผ ์ข ๋ ๋ด๋ ค๋ณด์ธ์.' );
} else {
alert( '์ ๋ต์
๋๋ค!' );
}
์ ์์์์, ์๋ฐ์คํฌ๋ฆฝํธ๋ ์กฐ๊ฑด year < 2015 ๋ฅผ ๋จผ์ ํ์ธํ๋ค.
์ด ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด๋ผ๋ฉด ๋ค์ ์กฐ๊ฑด year > 2015 ๋ฅผ ํ์ธํ๋ค. ์ด ์กฐ๊ฑด ๋ํ ๊ฑฐ์ง์ด๋ผ๋ฉด else ์ ๋ด์ alert๋ฅผ ์คํํ๋ค.
else if ๋ธ๋ก์ ๋ ๋ง์ด ๋ถ์ด๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค. ๋ง์ง๋ง์ ๋ถ๋ else ๋ ํ์๊ฐ ์๋ ์ ํ ์ฌํญ์ด๋ค.
๐ค ์ค์ฒฉ if ๋ฌธ
์กฐ๊ฑด๋ฌธ ์์ ์กฐ๊ฑด๋ฌธ์ด ์์ผ๋ฉด ์ค์ฒฉ if๋ฌธ์ด๋ผ๊ณ ํ๋ค.
โ else if ๋ฌธ์ ๋ฌธ๋ฒ
if ( ์กฐ๊ฑด์1 ) {
if ( ์กฐ๊ฑด์ 2 ) {
//์คํ๋ฌธ
}
}
if๋ฌธ ์์ ๋ ๋ค๋ฅธ if๋ฌธ์ ์ฝ์ ํ ๋ ์ฌ์ฉํ๋ค.
โ ์์
var a = 20;
var b = 40;
if ( a !== b ) {
if ( a > b ) { console.log("a๋ b๋ณด๋ค ํฌ๋ค"): }
else { console.log("a๋ b๋ณด๋ค ์๋ค"); }
} else { console.log("a์ b๋ ๊ฐ๋ค"); }
01. ์กฐ๊ฑด๋ฌธ if ๋ฌธ ์ค๋ช
http://www.tcpschool.com/javascript/js_control_condition
์ฝ๋ฉ๊ต์ก ํฐ์จํผ์ค์ฟจ
4์ฐจ์ฐ์ ํ๋ช , ์ฝ๋ฉ๊ต์ก, ์ํํธ์จ์ด๊ต์ก, ์ฝ๋ฉ๊ธฐ์ด, SW์ฝ๋ฉ, ๊ธฐ์ด์ฝ๋ฉ๋ถํฐ ์๋ฐ ํ์ด์ฌ ๋ฑ
tcpschool.com
https://ko.javascript.info/ifelse
if์ '?'๋ฅผ ์ฌ์ฉํ ์กฐ๊ฑด ์ฒ๋ฆฌ
ko.javascript.info