[Javascript] ECMAScript 6 (ES6)_2
1. ์คํ๋ ๋ ๋ฌธ๋ฒ
- ...ํค์๋ ์ฌ์ฉ
- ์คํ๋ ๋ ๋ฌธ๋ฒ์ ํ๋๋ก ๋ญ์ณ์๋ ์ฌ๋ฌ ๊ฐ๋ค์ ์งํฉ์ ํผ์ณ ๊ฐ๋ณ์ ์ธ ๊ฐ๋ค์ ๋ชฉ๋ก์ผ๋ก ๋ง๋ฆ
- Rest ํ๋ผ๋ฏธํฐ์๋ ๋ฐ๋ ๊ฐ๋
- Rest ํ๋ผ๋ฏธํฐ๋ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋ ๊ฐ๋ค์ ๋ฐฐ์ด๋ก ๋ฌถ์ด์ฃผ๋ ๊ฒ
- ์คํ๋ ๋ ๋ฌธ๋ฒ์ ๋ถ๋ฆฌ๋ฅผ ํด์ ์์ ํ๋์ฉ ์ฐ์ด์ฃผ๋ ๊ฒ
2. Destructuring ํ ๋น(๋น๊ตฌ์กฐํ ํ ๋น)
- ๋ฐฐ์ด๊ฐ์ ์งํฉ ๋๋ ๊ฐ์ฒด์ ๊ตฌ์กฐ๋ฅผ ํ๊ดดํ์ฌ 1๊ฐ ์ด์์ ๋ณ์์ ๊ฐ๋ณ์ ์ผ๋ก ํ ๋นํ๋ ๊ฒ
3. set
- set์ ์ค๋ณต๋์ง ์๋ ์ ์ผํ ๊ฐ๋ค์ ์งํฉ
- ๋ฐฐ์ด๊ณผ ์ ์ฌํ์ง๋ง ์์์ ์๋ฏธ๊ฐ ์๊ณ ์ค๋ณต ๊ฐ์ด ํ์ฉ๋์ง ์์, ์ธ๋ฑ์ค๋ก ์์์ ์ ๊ทผ ๋ถ๊ฐ๋ฅ
- set์ ์ ์ธ: new Set();
4. Map
- Map์ Key์ value๋ฅผ ๊ฐ์ง๋ ์ปฌ๋ ์
- ๊ฐ์ฒด์ ์ฐจ์ด์
๊ฐ์ฒด์ ํค๋ก ์ฌ์ฉํ ์ ์๋ ๊ฐ: ๋ฌธ์์ด๊ณผ ์ฌ๋ฒ
Map์ ํค๋ก ์ฌ์ฉํ ์ ์๋ ๊ฐ: ๊ฐ์ฒด๋ฅผ ํฌํจํ ๋ชจ๋ ๊ฐ
๊ฐ์ฒด์ ์์ ๊ฐ์ ํ์ธ: length
Map์ ์์ ๊ฐ์ ํ์ธ: size
- Map ์์ฑ: new Map();
5. Promise
- ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ํ๋์ ํจํด์ผ๋ก ์ฝ๋ฐฑ ํจ์๋ฅผ ์ฌ์ฉ
- ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ฝ๋ฐฑ ํจ์์์ ์ฝ๋ฐฑ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์
- ์ฝ๋ฐฑ ํจ์ ์์ ์ฝ๋ฐฑ ํจ์๋ฅผ ๊ณ์ํ์ฌ ํธ์ถํ๋ ๊ฒ์ด ์ฝ๋ฐฑ ์ง์ฅ
- ์ฝ๋ฐฑ ์ง์ฅ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๋ฌธ๋ฒ์ด Promise
6. async / await
- async / await๋ Promise ๊ธฐ๋ฐ์ผ๋ก ์์ง์
- async / await๋ฅผ ์ฌ์ฉํ๋ฉด ๋น๋๊ธฐ ์ฒ๋ฆฌ์ธ Promise๋ฅผ ๋๊ธฐ์ฒ๋ฆฌํ๋ ๊ฒ์ฒ๋ผ ์ฌ์ฉ ๊ฐ๋ฅ
- function์์ async๋ฅผ ๋ถ์ฌ์ฃผ๊ณ Promise ๊ตฌ๋ฌธ์ await๋ฅผ ๋ถ์ฌ์ค
- Promise๊ฐ ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๊ณ ๊ฒฐ๊ณผ ๊ฐ์ ๋ณ์์ ์ ์ฅ
7. Generator
- ์ฝ๋ ๋ธ๋ก์ผ ์ผ์ ์ค์งํ๋ค๊ฐ ํ์ํ ์์ ์ ๋ค์ ์ฌ๊ฐํ ์ ์๋ ํน์ํ ํจ์
- generator ์ ์ธ: function*
- ๋ฐ๋์ ํ๋ ์ด์์ yield ๊ตฌ๋ฌธ์ ๊ฐ์ ธ์ผ ํจ
- ํ์ดํ ํจ์๋ก๋ ์ ์ ๋ถ๊ฐ๋ฅ
- ๊ฐ์ฒด๋ก ์์ฑํ์ฌ ์ฌ์ฉ
- next()๋ผ๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ yield๋ฅผ ๋ง๋ ๋๊น์ง ์ฝ๋๋ฅผ ์คํ
- ๋ง์ง๋ง yield๊ฐ ์ฌ์ฉ๋๊ณ yield๊ฐ ๋์ด์ ์์๋๋ return;