javascript/๐ study39 [7์ฃผ์ฐจ ์คํฐ๋]37์ฅ-Set ๊ณผ Map Set๊ณผ Map Set Set๊ฐ์ฒด๋ ์ค๋ณต๋์ง ์๋ ์ ์ผํ ๊ฐ๋ค์ ์งํฉ์ด๋ค. Set๊ฐ์ฒด๋ ๋ฐฐ์ด๊ณผ ์ ์ฌํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ์ฐจ์ด๊ฐ ์๋ค. ๊ตฌ๋ถ ๋ฐฐ์ด Set๊ฐ์ฒด ๋์ผํ ๊ฐ์ ์ค๋ณตํ์ฌ ํฌํจ ํ ์ ์๋ค O X ์์ ์์์ ์๋ฏธ๊ฐ ์๋ค. O X ์ธ๋ฑ์ค๋ก ์์์ ์ ๊ทผํ ์ ์๋ค. O X Set์ ์ํ์ ์งํฉ์ ๊ตฌํํ๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ ์ ๋๋ค, ๊ต์งํฉ, ํฉ์งํฉ, ์ฐจ์งํฉ, ์ฌ์งํฉ ๋ฑ์ ๊ตฌํํ ์ ์๋ค. Set ๊ฐ์ฒด์ ์์ฑ Set ์์ฑ์ ํจ์์ ์ธ์๋ฅผ ์ ๋ฌํ์ง ์์ผ๋ฉด ๋น Set ๊ฐ์ฒด๊ฐ ์์ฑ ๋ฉ๋๋ค. Set ์์ฑ์ ํจ์๋ ์ดํฐ๋ฌ๋ธ์ ์ธ์๋ก ์ ๋ฌ๋ฐ์ Set ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. (์ด๋, ์ค๋ณต๋ ๊ฐ์ Set ๊ฐ์ฒด์ ์์๋ก ์ ์ฅ๋์ง ์๋๋ค.) Set ๊ฐ์ฒด์ ํน์ฑ์ ํ์ฉํด์ ๋ฐฐ์ด์ ์ค๋ณต๋ ์์๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค. const set=.. 2022. 3. 27. [7์ฃผ์ฐจ ์คํฐ๋]35์ฅ-๋์คํธ๋ญ์ฒ๋ง ํ ๋น ๋์คํธ๋ญ์ฒ๋ง ํ ๋น ๋์คํธ๋ญ์ฒ๋ง ํ ๋น(๊ตฌ์กฐ ๋ถํด ํ ๋น, destructuring assignment)์ ๊ตฌ์กฐํ๋ ๋ฐฐ์ด๊ณผ ๊ฐ์ ์ดํฐ๋ฌ๋ธ ๋๋ ๊ฐ์ฒด๋ฅผ destructuringํ์ฌ 1๊ฐ ์ด์์ ๋ณ์์ ๊ฐ๋ณ์ ์ผ๋ก ํ ๋นํ๋ ๊ฒ์ ๋งํ๋ค. ๋ฐฐ์ด๊ณผ ๊ฐ์ ์ดํฐ๋ฌ๋ธ ๋๋ ๊ฐ์ฒด ๋ฆฌํฐ๋ด์์ ํ์ํ ๊ฐ๋ง ์ถ์ถํ์ฌ ๋ณ์์ ํ ๋นํ ๋ ์ ์ฉ ๋ฐฐ์ด ๋์คํธ๋ญ์ฒ๋ง ํ ๋น ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ๋ฐฐ์ด๋ก๋ถํฐ ์ถ์ถํ์ฌ 1๊ฐ ์ด์์ ๋ณ์์ ํ ๋น ๋์คํธ๋ญ ์ฒ๋ง ํ ๋น์ ๋์(ํ ๋น๋ฌธ์ ์ฐ๋ณ)์ ์ดํฐ๋ฌ๋ธ์ด์ด์ผ ํ๋ค. const arr = [1,2,3]; const [one, two, three] = arr; console.log(one, two, three); // 1 2 3 ํ ๋น์ ๊ธฐ์ค์ ์ธ๋ฑ์ค์ด๋ค. ์ฆ, ์์๋๋ก ํ ๋น๋๊ณ ๋ณ์์ ๊ฐ์์ ์ผ์นํ ํ์๋ ์๋ค.. 2022. 3. 27. [7์ฃผ์ฐจ ์คํฐ๋]35์ฅ-์คํ๋ ๋ ๋ฌธ๋ฒ ์คํ๋ ๋ ๋ฌธ๋ฒ es6์์ ๋์ ๋ ์คํ๋ ๋ ๋ฌธ๋ฒ (spread syntax)์ ํ๋๋ก ๋ญ์ณ ์๋ ์ฌ๋ฌ ๊ฐ๋ค์ ์งํฉ์ ํผ์ณ์ ๊ฐ๋ณ์ ์ธ ๊ฐ๋ค์ ๋ชฉ๋ก์ผ๋ก ๋ง๋ ๋ค. ์คํ๋ ๋ ๋ฌธ๋ฒ ์ฌ์ฉ์ ๋์์ for ... of ๋ฌธ์ผ๋ก ์ํํ ์ ์๋ ์ดํฐ๋ฌ๋ธ์ ํ์ ๋๋ค. console.log(...[1,2,3]); // 1 2 3 // ์ดํฐ๋ฌ๋ธ์ด ์๋ ์ผ๋ฐ ๊ฐ์ฒด๋ ์คํ๋ ๋ ๋ฌธ๋ฒ์ ๋์์ด ๋ ์ ์๋ค. console.log(...{a : 1, b : 2}); // TypeError : Found non-callable @@iterator ์คํ๋ ๋ ๋ฌธ๋ฒ์ ๊ฒฐ๊ณผ๋ ๊ฐ์ด ์๋๋๋ค. (์ฆ, ... ๋ฌธ๋ฒ์ ์๋ก์ด ๊ฐ์ ์์ฑํ๋ ์ฐ์ฐ์๊ฐ ์๋๋๋ค.) ๋ฐ๋ผ์ ์คํ๋ ๋ ๋ฌธ๋ฒ์ ๊ฒฐ๊ณผ๋ ๋ณ์์ ํ ๋นํ ์์๋ค. ์ ๋ฆฌ : ์คํ๋ ๋ ๋ฌธ๋ฒ์ ๊ฒฐ๊ณผ๋ฌผ์ ๊ฐ.. 2022. 3. 27. [7์ฃผ์ฐจ ์คํฐ๋]34์ฅ-์ดํฐ๋ฌ๋ธ ์ดํฐ๋ฌ๋ธ ์ดํฐ๋ ์ด์ ํ๋กํ ์ฝ ์ดํฐ๋ ์ด์ ํ๋กํ ์ฝ์ ์ํ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ์ปฌ๋ ์ ์ ๋ง๋ค๊ธฐ ์ํด ECMAScript ์ฌ์์ ์ ์ํ์ฌ ๋ฏธ๋ฆฌ ์ฝ์ํ ๊ท์น์ด๋ค. es6์ด์ ์ ์ํ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ์ปฌ๋ ์ (๋ฐฐ์ด, ๋ฌธ์์ด ๋ฑ๋ฑ..)์ ํต์ผ๋ ๊ท์ฝ ์์ด ๊ฐ์ ๋๋ฆ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ es6์์๋ ์ํ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ์ปฌ๋ ์ ์ ์ดํฐ๋ ์ด์ ํ๋กํ ์ฝ์ ์ค์ํ๋ ์ดํฐ๋ฌ๋ธ๋ก ํต์ผ ์ดํฐ๋ ์ด์ ํ๋กํ ์ฝ์๋ ์ดํฐ๋ฌ๋ธ ํ๋กํ ์ฝ๊ณผ ์ดํฐ๋ ์ดํฐ ํ๋กํ ์ฝ์ด ์๋ค. ์ดํฐ๋ฌ๋ธ ํ๋กํ ์ฝ(iterable protocol) Well-known Symbol์ธ Symbol.iterator๋ฅผ ํ๋กํผํฐ ํค๋ก ์ฌ์ฉํ ๋ฉ์๋๋ฅผ ์ง์ ๊ตฌํํ๊ฑฐ๋ ์์ ๋ฐ์ Symbol.iterator ๋ฉ์๋๋ฅผ ํธ์ถํ๋ฉด ์ดํฐ๋ ์ดํฐ ํ๋กํ ์ฝ์ ์ค์ํ ์ดํฐ๋ ์ดํฐ๋ฅผ ๋ฐํํ๋ ๊ท์ฝ์ ์ดํฐ๋ฌ๋ธ .. 2022. 3. 27. [7์ฃผ์ฐจ ์คํฐ๋]33์ฅ-Symbol 7๋ฒ์งธ ๋ฐ์ดํฐ ํ์ Symbol ์ฌ๋ฒ์ด๋? ์๋ฐ์คํฌ๋ฆฝํธ์๋ 6๊ฐ์ ๋ฐ์ดํฐ ํ์ ์ด ์์ต๋๋ค. ๋ฌธ์์ด ์ซ์ ๋ถ๋ฆฌ์ธ undefined null ๊ฐ์ฒด ํ์ ์ฌ๋ฒ(symbol)์ ES6์์ ๋์ ๋ 7๋ฒ์งธ ๋ฐ์ดํฐ ํ์ ์ผ๋ก ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์์ํ์ ์ ๊ฐ ๋ค๋ฅธ ๊ฐ๊ณผ ์ค๋ณต๋์ง ์๋ ์ ์ผ ๋ฌด์ดํ ๊ฐ์ผ๋ก ์ด๋ฆ ์ถฉ๋ ์ํ์ด ์๋ ์ ์ผํ ํ๋กํผํฐ ํค๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ํ๋กํผํฐ ํค๋ก ์ฌ์ฉํ ์ ์๋ ๊ฐ์ ๋น ๋ฌธ์์ด์ ํฌํจํ๋ ๋ชจ๋ ๋ฌธ์์ด ๋๋ ์ฌ๋ฒ ๊ฐ์ด๋ค. ์ฌ๋ฒ ๊ฐ์ ์์ฑ Symbol ํจ์ Symbol๊ฐ์ ๋ค๋ฅธ ์์๊ฐ๊ณผ ๋ค๋ฅด๊ฒ ๋ฆฌํฐ๋ด ํ๊ธฐ๋ฒ์ด ์๊ณ Symbol ํจ์๋ฅผ ํตํด ์์ฑํฉ๋๋ค ์ด๋ ์์ฑ๋ ์ฌ๋ฒ๊ฐ์ ์ธ๋ถ๋ก ๋ ธ์ถ๋์ง ์๊ณ , ๋ค๋ฅธ ๊ฐ๊ณผ ์ ๋ ์ค๋ณต๋์ง ์๋ ์ ์ผ๋ฌด์ดํ ๊ฐ // ํจ์ ํธ์ถ์ ํตํด ์์ฑ const mySymbo.. 2022. 3. 27. [5์ฃผ์ฐจ ์คํฐ๋]26์ฅ-ES6 ํจ์ ์ถ๊ฐ ๊ธฐ๋ฅ ES6 ํจ์์ ์ถ๊ฐ ๊ธฐ๋ฅ ํจ์์ ๊ตฌ๋ถ es6 ์ด์ ์ ํจ์๋ ์ฌ์ฉ ๋ชฉ์ ์ ๋ฐ๋ผ ๋ช ํ ํ๊ฒ ๊ตฌ๋ถ ๋์ง ์์ ์ผ๋ฐ ํจ์๋ก์ ํธ์ถ ๊ฐ๋ฅ new์ฐ์ฐ์์ ํจ๊ป ํธ์ถํ์ฌ ์์ฑ์ ํจ์๋ก ํธ์ถ ๊ฐ๋ฅ ๊ฐ์ฒด์ ๋ฐ์ธ๋ฉ ๋์ด ๋ฉ์๋๋ก์ ํธ์ถ ๊ฐ๋ฅ ์ฆ, es6์ด์ ์ ๋ชจ๋ ํจ์๋ ์ผ๋ฐ ํจ์, ์์ฑ์ ํจ์ ๋๋ค ํธ์ถ ๊ฐ๋ฅ es6์ด์ ์ ๋ชจ๋ ํจ์๋ callable ์ด๋ฉด์ constructor ์ด๋ค ์ค์๋ฅผ ์ ๋ฐํ ์ ์์ผ๋ฉฐ ์ฑ๋ฅ ๋ฉด์์๋ ์ํด ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด es6์์๋ ํจ์๋ฅผ ์ฌ์ฉ ๋ชฉ์ ์ ๋ฐ๋ผ ์ธ ๊ฐ์ง ์ข ๋ฅ๋ก ๋ช ํํ ๊ตฌ๋ถ ES6 ํจ์์ ๊ตฌ๋ถ constructor prototype super arguments ์ผ๋ฐ ํจ์(Normal, ES6 ์ด์ ํจ์) O O X O ๋ฉ์๋(Method) X X O O ํ์ดํ(Arrow) .. 2022. 3. 27. ์ด์ 1 2 3 4 5 6 7 ๋ค์