[ํญํด99] WIL
์๋ฐ ์คํฌ๋ฆฝํธ ES
ES?
Javascript๋ ์๋ ๋ท์ค์ผ์ดํ์์ ์์๋ ์ธ์ด์ธ๋ฐ, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค์ ๊ทผ๊ฐ์ด๋ผ๊ณ ๋ณผ ์ ์๋ C์ธ์ด๋ณด๋ค ํจ์ฌ ๋์ค์ ๊ฐ๋ฐ๋ ์ธ์ด์ด๋ค. ๊ฒฐ๊ณผ๋ถํฐ ๋งํ๋ฉด ES๋ผ๋ ๊ฒ์ 'Javascript์ ํ์ค ๊ท๊ฒฉ'์ ์๋ฏธํ๋๋ฐ ์ค์ ๋ก ์๋ก ์ฌ์ฉ์๋ฅผ ๋์ด๋ค์ด๊ธฐ ์ํด ์ด๊ฒ์ ๊ฒ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค ๋ณด๋ Javascript์ JScript๋ ์ ์ ๋ค ๋ฌ๋ผ์ง๋ ๊ฒฝํฅ์ ๋ณด์๊ณ , ์ด์ ๋ณด๋ค๋ชปํ European Computer Manufacturers Association (ECMA, ํ ECMA International)์์ Javascript์ ๋ํ ํ์ค์ ์ ํ๊ฒ ๋์๋ค.
๋, ECMA์์๋ Javascript์ ํ์ค๋ง ์ ํ๋๊ฒ ์๋ ๋ค๋ฅธ ํ์ค์๋ ์ ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ๋ค๊ณผ ๊ตฌ๋ถํ๊ธฐ ์ํด ์ซ์๋ฅผ ๋ถ์๊ณ ์ด๊ฒ์ด 262๊ฐ ๋์๋ค. ์ฆ, ECMA 262๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์ค ๊ท๊ฒฉ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ํ์ฌ ์ฐ๋ฆฌ๊ฐ ES๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ์ ECMA Script์ ์ฝ์์ด๋ฉฐ, ES5๋ ECMA Script 5์ ๊ท๊ฒฉ์ ๋ฐ๋ฅธ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
ES5?, ES6?
์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ์ธ์ด๋ค(์์ด, ํ๊ตญ์ด, ์ผ๋ณธ์ด, ์ค๊ตญ์ด ๋ฑ๋ฑ..)์ด ์๊ฐ์ด ์ง๋๋ฉด์ ๋ฐ์ ํ๊ณ ๋ณํํ๋ฏ์ด, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค๋ ๊ธฐ์กด์ ์ทจ์ฝํ ์ ๋ค์ ๋ณด์ํ๊ณ ํ์ํ ๊ธฐ๋ฅ๋ค์ ์ถ๊ฐํ๋ฉด์ ๋ฐ์ ํด ๋๊ฐ๊ณ ์๋ค. ES๋ ๋ง์ฐฌ๊ฐ์ง๋ก Javascript๋ฅผ ๋ฐ์ ์ํค๊ธฐ ์ํด์ ๊ธฐ๋ฅ ์ถ๊ฐ๋ ๋ณ๊ฒฝ์ ์ ์ถ๊ฐํ ๋ฒ์ ์ ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
- ES 5
- ๋ฐฐ์ด์ forEach, map, filter, reduce, some, every์ ๊ฐ์ ๋ฉ์๋๋ค์ด ์ง์๋์๋ค.
- Object์ ๋ํ getter์ setter๊ฐ ์ง์๋์๋ค.
- Javascript strict๋ชจ๋๊ฐ ์ง์๋์๋ค. (๊ธฐ์กด์ ๋นํด์ ๋ ์๊ฒฉํ๊ฒ ๋ฌธ๋ฒ ๊ฒ์ฌ๋ฅผ ์งํํ๋ค.)
- json ํ์์ ์๋ฃ๋ค์ ์ง์ํ๋ค. ๊ณผ๊ฑฐ์๋ XML์ด๋ผ๋ ๊ท๊ฒฉ์ ์ฌ์ฉํ๋ค๊ฐ, json์ด ์ธ๊ธฐ๋ฅผ ๋๋ฉด์ javascript ์ญ์ ์ง์์ ํ๊ฒ ๋์๋ค.
- ES 6
- Hoisting์ ๊ฐ์ ํ๋ค.
๊ธฐ์กด์๋ varํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ํธ์ด์คํ ์ด ๋น๋ฒํ๊ฒ ์ผ์ด๋ฌ๋๋ฐ ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ธ๋ก ์ค์ฝํ๋ฅผ ๊ฐ์ง let๊ณผ const๋ฅผ ์ถ๊ฐํ๋ค. - ํ์ดํ ๋ฌธ๋ฒ์ ์ง์ํ๋ค.
์ฅ์ : ์ฝ๋์ ๊ฐ๊ฒฐํ, this๋ฅผ ๋ฐ์ธ๋ฉํ์ง ์๋๋ค. (์์ ๋งํฌ) - iterator์ generator ์ถ๊ฐ.
- module์ import/export ์ถ๊ฐ.
- Promise ๋์
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋น๋๊ธฐ์ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ callback์ ๋ํ ์ด์๊ฐ ๋ง์์ผ๋ ์ด๋ถ๋ถ์ ํด๊ฒฐํ ์ ์๋ ๋ฌธ๋ฒ์ ์ ๊ณตํ๋ค.