JavaScript
๋ฐ๋ณต๋ฌธ
1. for๋ฌธ for ( ์ด๊ธฐํํ ๋ณ์๊ฐ; ์กฐ๊ฑด; ์ฆ๊ฐ ํ์ ) { ์ํํ ๋ช ๋ น } ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด ๋ ๋๊น์ง ๋ช ๋ น์ ์คํํ๋ค. ↑ ์์ ์ค๋ช ๋ณ์ i ์ ์ธ ํ ๊ฐ์ 0์ด๋ผ ๋ฃ๊ณ , i๊ฐ 10๋ณด๋ค ์๋ค๋ ์กฐ๊ฑด์ ๊ฑด ํ, i๋ฅผ 1์ฉ ์ฆ๊ฐ์ํจ๋ค. ์ดํ i๊ฐ 9๊ฐ ๋ ๋๊น์ง ๋ช ๋ น์ ์คํํ ํ, ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด ๋๋ฉด(i๊ฐ 10๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์์ง๋ฉด) ๋ช ๋ น์ ์คํํ์ง ์๋๋ค. *์ฃผ์ํ ์ for๋ฌธ ์์ ๋ณ์๋ ๋ฐ๋ณต๋ฌธ์ ์คํํ๋ฉด์ ๊ณ์ํด์ ๋ณ๊ฒฝ๋ ๊ฐ์ ์ ์ฅํ ๊ฒ์ด๋ฏ๋ก const๊ฐ ์๋ let์ ์ฌ์ฉํฉ๋๋ค. 2. While๋ฌธ while ( ์กฐ๊ฑด ) { ์ํํ ๋ช ๋ น } for๋ฌธ์ ๋ณ์์ ์ฆ๊ฐ ํ์๋ฅผ ๊ดํธ ๋ฐ๊นฅ์ผ๋ก ๋บ ํํ์ด๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด ๋ ๋๊น์ง ๋ช ๋ น์ ์คํํ๋ค. 3. Do~While๋ฌธ do { ์ํํ ๋ช ๋ น ..
if ์กฐ๊ฑด๋ฌธ
if ์กฐ๊ฑด๋ฌธ์ด๋? ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ์ ์ถ๋ ฅํ๋ ๊ตฌ๋ฌธ์ด๋ค. ์กฐ๊ฑด์ผ๋ก๋ ๋น๊ต ์ฐ์ฐ์ ๋๋ ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ค. ์กฐ๊ฑด๋ฌธ์ ํํ if๋ฌธ ์กฐ๊ฑด์ด ์ฐธ์ด๋ผ๋ฉด ์ค๊ดํธ ์์ ์ฝ๋๋ฅผ ์คํํ๋ค. if~else๋ฌธ ์กฐ๊ฑด์ด true๋ฉด if๋ฌธ์, false๋ฉด else๋ฌธ ์คํํ๋ค. else if๋ฌธ ์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฑด๋ฌธ์ ์์ฑํ ๋ ์ฌ์ฉํ๋ค. ์กฐ๊ฑด์ด true๋ฉด if๋ฌธ์, false๋ฉด else if๋ฌธ์ ์คํํ๋ค. ์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฑด๋ฌธ์ ๊ฒ์ฌํ๋ฉด์ ํ๋ฒ์ด๋ผ๋ ์ฐธ์ด ๋์จ๋ค๋ฉด ๊ทธ ์ดํ์ ์กฐ๊ฑด๋ฌธ ์คํํ์ง ์๋๋ค. ์ค์ฒฉ if๋ฌธ if๋ฌธ ์์ ๋๋ค๋ฅธ if๋ฌธ์ ์ฝ์ ํ ๋ ์ฌ์ฉํ๋ค. ์ค์ฒฉ๋ if๋ฌธ์ ์์ if๋ฌธ์ด ์ฐธ์ผ ๋ ์คํ๋๋ค.
์ฐ์ฐ์ ์ ๋ฆฌ
โ ์ฐ์ ์ฐ์ฐ์ +, -, *, /, % ์ฌ์น์ฐ์ฐ ์ฐ์ฐ์์ด๋ค. ์ซ์๋ฟ๋ง ์๋๋ผ ๋ฌธ์์ด๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. + - * / % ๋ํ๊ธฐ ๋นผ๊ธฐ ๊ณฑํ๊ธฐ ๋๋๊ธฐ ๋๋์ ์ ๋๋จธ์ง ๊ฐ์ ๋์ถ โป ๋ํ๊ธฐ ์ฐ์ฐ์๋ ๋ฌธ์์ด์ ๊ฒฝ์ฐ ๋ง์ ์ด ์๋ ์ฐ๊ฒฐ์ ๊ฐ๋ ์ผ๋ก ์ฌ์ฉ๋๋ค. ์) "20" + "10" = 2010 โก์ฆ๊ฐ ์ฐ์ฐ์ ++, -- ++ -- 1์ฉ ์ฆ๊ฐ 1์ฉ ๊ฐ์ โป ์ฐ์ฐ์์ ์์น(์์ด๋ ๋ค๋)์ ๋ฐ๋ผ ์๋ฏธ๊ฐ ๋ฌ๋ผ์ง๋ฏ๋ก ๊ตฌ๋ถ์ ์ฃผ์ํ์. ์์ ๋ถ์์ ๊ฒฝ์ฐ → ์ฆ๊ฐ/๊ฐ์ํ ์ํ๋ก ํ๋ฉด์ ์ถ๋ ฅ๋๋ค. ๋ค์ ๋ถ์์ ๊ฒฝ์ฐ → ํ๋ฉด์ ์ถ๋ ฅ๋ ํ ์ฆ๊ฐ/๊ฐ์ํ๋ค. ์ฆ, ํ๋ฉด์ ์ถ๋ ฅ๋ ๊ฐ๊ณผ ์ต์ข ๊ฐ์ด ๋ค๋ฅด๋ค๋ ์๋ฏธ. var num = 10; // ์ฆ๊ฐ ์ฐ์ฐ์๋ฅผ ์์ ๋ถ์์ ๋ console.log(++num); // num+1 ํ num ์ถ๋ ฅ..
๋ฐ์ดํฐ ํ์ 6 - Undefined, Null
Undefined ๋ณ์๊ฐ ๋ง๋ค์ด์ก์ง๋ง ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ์ง ์์ ์ํ. ์ฆ, ์ ์๋์ง ์์. const unde; // undefined Null = nothing ๊ฐ๋ฐ์๊ฐ ์์๋ก ๋ณ์ ์์ ๋น ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ ์ํ (๋น ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ ๊ฒ) const empty = null; // null
๋ฐ์ดํฐ ํ์ 5 - ํจ์ Function
ํจ์์ ๊ตฌ์ฑ์์ ์ฒซ๋ฒ์งธ ๋งค๊ฐ๋ณ์์๋ ์ฒซ๋ฒ์งธ ์ธ์๊ฐ ์ ๋ฌ๋๊ณ , ๋๋ฒ์งธ ๋งค๊ฐ๋ณ์์๋ ๋๋ฒ์งธ ์ธ์๊ฐ ์ ๋ฌ๋๋ค. ๋งค๊ฐ๋ณ์ = ์ธ์(parameter) : ์ธ์ ๊ฐ์ด ๋ค์ด๊ฐ๋ ํต๋ก (์๋ต ๊ฐ๋ฅ). ๋งค๊ฐ๋ณ์๋ ํจ์ ์์์๋ง ์กด์ฌํ ์ ์๋ค. ์ธ์(arguments) : ํจ์์๊ฒ ์ ๋ฌํ๋ ๋ฐ์ดํฐ return : ํจ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ฌ์ฉ ํจ์ ์์ฑ๋ฒ 1 const func1 = function() { console.log("Func1"); } // ํจ์ ์์ฑ func1(); // ํจ์ ํธ์ถ ํจ์ ์์ฑ๋ฒ 2 function func1() { console.log("Func1"); } // ํจ์ ํธ์ถ func1(); // ํจ์ ํธ์ถ
๋ฐ์ดํฐ ํ์ 3 - ๊ฐ์ฒด Object
๊ฐ์ฒด๋? ๊ฐ์ฒด๋ ์ฌ๋ฌ ์์ฑ์ ํ๋์ ๋ณ์์ ์ ์ฅํ ์ ์๋๋ก ํด์ฃผ๋ ๋ฐ์ดํฐ ํ์ ์ด๋ค. ์ฆ, ์ด๋ฆ(key)๊ณผ ๊ฐ(value)์ผ๋ก ๊ตฌ์ฑ๋ ํ๋กํผํฐ(๋๋ ๋ฉ์๋)์ ์งํฉ์ด๋ค. ํ๋กํผํฐ์ ๊ฐ์ผ๋ก ํจ์๊ฐ ์ฌ ์๋ ์๋๋ฐ, ์ด๋ฌํ ํ๋กํผํฐ๋ฅผ ๋ฉ์๋๋ผ๊ณ ํ๋ค. ์ฌ๋ฌ ์ข ๋ฅ์ ๋ฐ์ดํฐ ํ์ ์ ์ฝ์ ๊ฐ๋ฅํ๋ค. const user = { name: "yunji", //ํ๋กํผํฐ age: 26, //ํ๋กํผํฐ sum: function(num1, num2){ //๋ฉ์๋ return num1 + num2 } }; // ํ๋กํผํฐ ๋ฐ์ดํฐ ์ถ๋ ฅํ๊ธฐ console.log(user.name); // ๊ฐ์ฒด๋ช .ํ๋กํผํฐ๋ช console.log(user['name']); // ๊ฐ์ฒด๋ช ["ํ๋กํผํฐ๋ช "] // ๋ฉ์๋ ๋ฐ์ดํฐ ์ถ๋ ฅํ๊ธฐ console.log(..
๋ฐ์ดํฐ ํ์ 2 - ๋ฐฐ์ด Array
Array๋? ๋ฐฐ์ด์ ๋น์ทํ ์ฑ๊ฒฉ์ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ณ์ ์์์ ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ ํ์ ์ด๋ค. ๊ฐ๊ฐ์ ๊ฐ(value)์ ์ขํ๊ฐ(index)๋ฅผ ๋ถ์ฌํ์ฌ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๊ตฌ์กฐ์ด๋ค. ์ธ๋ฑ์ค ๊ฐ์ 0๋ถํฐ ์์ํ๋ค. const daysOfWeek = ["mon", "tue", "wed", "thu", "fri"]; console.log(daysOfWeek[0]); // -> "mon" console.log(daysOfWeek[2]); // -> "wed" // ๋ฐฐ์ด ์์ ๋ฐฐ์ด ์์์ ์ ๊ทผํ๊ธฐ let fruit = [['apple', 1], ['banana', 3], ['melon', 5]]; console.log(fruit[1][0]) // => banana Array์ ํน์ฑ ๋ฐฐ์ด์ ์ ๊ทผ์ ๊ต์ฅํ..
๋ฐ์ดํฐ ํ์ 1 - ๋ถ๋ฆฌ์ธ Booleans
๋ถ๋ฆฌ์ธ(boolean) ๊ฐ : true / false ๋ถ๋ฆฌ์ธ์ ๋ ผ๋ฆฌํ์์ ์ฐธ๊ณผ ๊ฑฐ์ง์ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉํ๋ค. ๋ํ ๋ ผ๋ฆฌ ์ฐ์ฐ(logical operation)์ด๋ผ๋ ์ฃผ์ด์ง ๋ ผ๋ฆฌ์์ ํ๋จํ์ฌ ์ฐธ๊ณผ ๊ฑฐ์ง์ ๊ฒฐ์ ํ๋ค. ์ง๋ฆฌํ(truth table) ๋ ผ๋ฆฌ ์ฐ์ฐ์ ๊ฒฐ๊ณผ. A B ๋ ผ๋ฆฌํฉ A∨B ๋ ผ๋ฆฌ๊ณฑ A∧B ๋ ผ๋ฆฌ๋ถ์ ๏ฟขA /๏ฟขB 1 (true) 1 (true) 1 (true) 1 (true) 0 (false) / 0 (false) 1 (true) 0 (false) 1 (true) 0 (false) 0 (false) / 1 (true) 0 (false) 1 (true) 1 (true) 0 (false) 1 (true) / 0 (false) 0 (false) 0 (false) 0 (false) 0 (false) 1 (..