javascript
[JavaScript] ์ผํ ์ฐ์ฐ์ (Comma Operator)
์ผํ ์ฐ์ฐ์๋ MDN์์๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ๋ค. ์ผํ ์ฐ์ฐ์๋ ๊ฐ ํผ์ฐ์ฐ์๋ฅผ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ํ๊ฐํ๊ณ ๋ง์ง๋ง ํผ์ฐ์ฐ์์ ๊ฐ์ ๋ฐํํ๋ค. ์ผํ ์ฐ์ฐ์๋ ์ฃผ๋ก ์ฌ๋ฌ ๋์์ ํ๋์ ์ค์์ ์ฒ๋ฆฌํ๋ ค๋ ๋ณต์กํ ๊ตฌ์กฐ์์ ํ์ฉํ ์ ์๋ค. ์ฐ์ฐ์ ์ฐ์ ์์์์ ๊ฐ์ฅ ๋ฎ์ ์์๋ฅผ ๊ฐ์ง๊ธฐ๋๋ฌธ์ ๋จผ์ ์ํํ๊ธฐ ์ํด์๋ ๊ดํธ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. let x, y, z; x = 1, y = 2, z = 3; // 3 console.log(x); // 1 let a, b, c; a = (b = 5, c = 6); // 6 console.log(a); // 6 ์ผํ ์ฐ์ฐ์์ ํ์ฉ for ๋ฌธ const array = [ ['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ]; for (let..
[Deep Dive] 14-15์ฅ
14์ฅ ์ ์ญ ๋ณ์์ ๋ฌธ์ ์ ๋ณ์์ ์๋ช ์ฃผ๊ธฐ ์ง์ญ ๋ณ์์ ์๋ช ์ฃผ๊ธฐ ์ ์ญ ๋ณ์์ ์๋ช ์ฃผ๊ธฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ช ์ฃผ๊ธฐ์ ๊ฐ๋ค. ํ์ง๋ง ํจ์ ๋ด๋ถ์์ ์ ์ธ๋ ์ง์ญ ๋ณ์๋ ํจ์๊ฐ ํธ์ถ๋๋ฉด ์์ฑ๋๊ณ ํจ์๊ฐ ์ข ๋ฃํ๋ฉด ์๋ฉธํ๋ค. ์ฆ, ์ง์ญ ๋ณ์์ ์๋ช ์ฃผ๊ธฐ๋ ํจ์์ ์๋ช ์ฃผ๊ธฐ์ ์ผ์นํ๋ค. ์ง์ญ ๋ณ์๊ฐ ํจ์๋ณด๋ค ์ค๋ ์์กดํ๋ ๊ฒฝ์ฐ๋ ์๋ค. ๋๊ตฐ๊ฐ ์ค์ฝํ๋ฅผ ์ฐธ์กฐํ๊ณ ์์ผ๋ฉด ์ค์ฝํ๋ ์๋ฉธํ์ง ์๊ณ ์์กดํ๊ฒ ๋๋ค. ์ง์ญ ๋ณ์๋ ํจ์๊ฐ ์์ฑํ ์ค์ฝํ์ ๋ฑ๋ก๋๋ค. ๋ฐ๋ผ์ ๋ณ์๋ ์์ ์ด ๋ฑ๋ก๋ ์ค์ฝํ๊ฐ ์๋ฉธ(๋ฉ๋ชจ๋ฆฌ ํด์ )๋ ๋๊น์ง ์ ํจํ๋ค. ๋ํ ํธ์ด์คํ ์ ์ค์ฝํ๋ฅผ ๋จ์๋ก ๋์ํ๋ฉฐ, ํธ์ด์คํ ์ ๋ณ์ ์ ์ธ์ด ์ค์ฝํ์ ์ ๋๋ก ๋์ด ์ฌ๋ ค์ง ๊ฒ์ฒ๋ผ ๋์ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ณ ์ ์ ํน์ง์ ๋งํ๋ค๊ณ ํ ์ ์๋ค. ์ ์ญ ๋ณ์์ ์๋ช ์ฃผ๊ธฐ ๋ธ..
[Deep Dive] 10-11์ฅ
10์ฅ ๊ฐ์ฒด ๋ฆฌํฐ๋ด ๊ฐ์ฒด๋? ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด ๊ธฐ๋ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ฉฐ, ์์ ๊ฐ์ ์ ์ธํ ๋๋จธ์ง ๊ฐ(ํจ์, ๋ฐฐ์ด, ์ ๊ท ํํ์ ๋ฑ)์ ๋ชจ๋ ๊ฐ์ฒด๋ค. ์ฆ ๊ฐ์ฒด๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฐ์ด๋ค. ๊ฐ์ฒด๋ ํ๋กํผํฐ์ ์งํฉ์ด๋ฉฐ, ํ๋กํผํฐ๋ ํค์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ํ๋กํผํฐ ๊ฐ์ด ํจ์์ผ ๊ฒฝ์ฐ, ์ผ๋ฐ ํจ์์ ๊ตฌ๋ถํ๊ธฐ ์ํด ๋ฉ์๋๋ผ ๋ถ๋ฅธ๋ค. ํ๋กํผํฐ : ๊ฐ์ฒด์ ์ํ๋ฅผ ๋ํ๋ด๋ ๊ฐ(data) ๋ฉ์๋ : ํ๋กํผํฐ(์ํ ๋ฐ์ดํฐ)๋ฅผ ์ฐธ๊ณ ํ๊ณ ์กฐ์ํ ์ ์๋ ๋์(behavior) var counter = { // ํ๋กํผํฐ num: 0, // ํ๋กํผํฐ ํค์ ํ๋กํผํฐ ๊ฐ // ๋ฉ์๋ increase: function() { this.num++; } }; ๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ์ํ ๊ฐ์ฒด ์์ฑ ์๋ฐ์คํฌ๋ฆฝํธ๋ ํ๋กํ ํ์ ๊ธฐ๋ฐ ๊ฐ์ฒด์งํฅ ์ธ์ด๋ก์ ํด๋..
[Deep Dive] 07-09์ฅ
07์ฅ ์ฐ์ฐ์ ์ฐ์ฐ์๋ ํ๋ ์ด์์ ํํ์์ ๋์์ผ๋ก ์ฐ์ฐ์ ์ํํด ํ๋์ ๊ฐ์ ๋ง๋ ๋ค. ์ด๋ ์ฐ์ฐ์ ๋์์ ํผ์ฐ์ฐ์๋ผ ํ๋ค. ํผ์ฐ์ฐ์๊ฐ "๊ฐ"์ด๋ผ๋ ๋ช ์ฌ์ ์ญํ ์ ํ๋ค๋ฉด ์ฐ์ฐ์๋ "ํผ์ฐ์ฐ์๋ฅผ ์ฐ์ฐํ์ฌ ์๋ก์ด ๊ฐ์ ๋ง๋ ๋ค"๋ผ๋ ๋์ฌ์ ์ญํ ์ ํ๋ค๊ณ ๋ณผ ์ ์๋ค. ์ฐ์ ์ฐ์ฐ์ ์ดํญ ์ฐ์ ์ฐ์ฐ์ : 2๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ์ฐ์ ์ฐ์ฐํ์ฌ ์ซ์ ๊ฐ์ ๋ง๋ ๋ค. ์ดํญ ์ฐ์ ์ฐ์ฐ์ ์๋ฏธ ๋ถ์ ํจ๊ณผ + ๋ง์ X (ํผ์ฐ์ฐ์์ ์ด๋ ํ ํจ๊ณผ๋ ์์) - ๋บ์ X * ๊ณฑ์ X / ๋๋์ X % ๋๋จธ์ง X ๋จํญ ์ฐ์ ์ฐ์ฐ์ : 1๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ์ฐ์ ์ฐ์ฐํ์ฌ ์ซ์ ๊ฐ์ ๋ง๋ ๋ค ๋จํญ ์ฐ์ ์ฐ์ฐ์ ์๋ฏธ ๋ถ์ ํจ๊ณผ ++ ์ฆ๊ฐ ํผ์ฐ์ฐ์์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ์๋ฌต์ ํ ๋น์ด ์ด๋ฃจ์ด์ง -- ๊ฐ์ ํผ์ฐ์ฐ์์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ์๋ฌต์ ํ ๋น์ด ์ด๋ฃจ์ด์ง + ์ด..
[Deep Dive] 04-06์ฅ
04์ฅ ๋ณ์ ๋ณ์๋ ๋ฌด์์ธ๊ฐ? ์ ํ์ํ๊ฐ? ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๊ธฐ์ตํ๊ณ ์ถ์ ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๊ณ , ์ ์ฅ๋ ๊ฐ์ ์ฝ์ด ๋ค์ฌ ์ฌ ์ฌ์ฉํ๊ธฐ ์ํด ๋ณ์๋ผ๋ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ๋ค. ๋ณ์๋ ํ๋์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํด ํ๋ณดํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์์ฒด ๋๋ ๊ทธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ณํ๊ธฐ ์ํด ๋ถ์ธ ์ด๋ฆ์ ๋งํ๋ค. ๊ฐ๋จํ ๋งํ์๋ฉด ๋ณ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๊ฐ์ ์ ์ฅํ๊ณ ์ฐธ์กฐํ๋ ๋ฉ์ปค๋์ฆ์ผ๋ก, ๊ฐ์ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ ์์ง์ ์ธ ์ด๋ฆ์ด๋ค. ๋ณ์์ ๊ฐ์ ์ ์ฅํ๋ ๊ฒ์ ํ ๋น(๋์ , ์ ์ฅ)์ด๋ผ ํ๊ณ , ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ์ฝ์ด ๋ค์ด๋ ๊ฒ์ ์ฐธ์กฐ๋ผ ํ๋ค. ์๋ณ์ ์๋ณ์๋ ์ด๋ค ๊ฐ์ ๊ตฌ๋ณํด์ ์๋ณํ ์ ์๋ ๊ณ ์ ํ ์ด๋ฆ์ ๋งํ๋ค. ๋ณ์, ํจ์, ํด๋์ค ๋ฑ์ ์ด๋ฆ์ ๋ชจ๋ ์๋ณ์๋ค. ์ ์ธ์ ์ํด ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์๋ณ์์ ์กด์ฌ๋ฅผ ์๋ฆฐ๋ค. ์๋ณ์๋ก..
[์ ์ฃผ์ฝ๋ฉ๋ฒ ์ด์ค์บ ํ] JavaScript 2๋ถ
์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ ์กฐ๊ฑด๋ฌธ if else if else switch ์ผํญ์ฐ์ฐ์ let result = true ? 1 : 100; ๋ฐ๋ณต๋ฌธ for for in for of while do while forEach break : ํด๋น ์กฐ๊ฑด์ด ๋ง์กฑ๋์์๋ ๋ฐ๋ณต๋ฌธ์ ํ์ถ continue : ํด๋น ์กฐ๊ฑด์ด ๋ง์กฑ๋์์๋ ๋ค์ ๋ฃจํ๋ก ๋์ด๊ฐ // for๋ฌธ ๋ฌดํ ๋ฐ๋ณต for (;;) { } // for in ๋ฌธ ๋ฌดํ ๋ฐ๋ณต let a = '19821'; for (let i of a) { s += parseInt(i); } let b = {'one':1, 'two':2}; for (let j in b) { console.log(j); } // while๋ฌธ ๋ฌดํ ๋ฐ๋ณต while (true) { } ํจ์์ ํด๋์ค ํจ์ ํจ์๋ฅผ ์ฌ์ฉ..
[์ ์ฃผ์ฝ๋ฉ๋ฒ ์ด์ค์บ ํ] JavaScript 1๋ถ
์๋ฐ์คํฌ๋ฆฝํธ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ฒ์ ์ ์ด ๋์ด๋ ์ด์ ์ ์์๋ ๊ธฐ๋ฅ์ ์ญ์ ํ๊ฑฐ๋ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝ ํ์ง ์๋๋ค. ES5 ๋ถํฐ ์๊ฒฉ๋ชจ๋, ๋ฐฐ์ด๋ฉ์๋๊ฐ ์ถ๊ฐ ES6 ๋ถํฐ const, let, Promise, Arrow function, class ๋ฑ์ ๋ฌธ๋ฒ๋ค์ด ๋๊ฑฐ ์ถ๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ฝ์ ์์น๋ ๋ณดํต body ํ๊ทธ์ ๋งจ ๋์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ตฌ์กฐ ๋ฌธ(statement)์ ์ธ๋ฏธ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถํ๋ค. ๋ฌธ์ ๊ฐ, ์ฐ์ฐ์, ํค์๋, ๋ช ๋ น์ด, ํํ์ ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ๊ณต๋ฐฑ์ ๋ณํฉํ๋ค. ์ฃผ์ // ํ ์ค ์ฃผ์ /* ์ฌ๋ฌ์ค ์ฃผ์ */ ์๊ฒฉ ๋ชจ๋ "use strict"; use stirict ๋ผ๋ ์ง์์๋ฅผ ํตํด ์๊ฒฉ๋ชจ๋๋ฅผ ํ์ฑํ ํ์๋๋ง ์ต์ ๋ฌธ๋ฒ์ด ๋ฐ์๋๋ค. ๋ณดํต ์ฝ๋์ ์ต์๋จ์ ์ถ๊ฐํ๋ค. class ๋ฌธ๋ฒ์ ๊ฒฝ์ฐ ์๊ฒฉ ๋ชจ๋๊ฐ ๊ธฐ๋ณธ..