- Published on
๐ JS(1)-๋๋ฆผ์ฝ๋ฉ ๊ฐ์ ์ ๋ฆฌ
- ๊ธ์ด์ด
๐ ๋ชฉ์ฐจ
โจ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด ๊ฐ์ (ES5+): ๊ฐ์ด ๋ ธํธ๋ฅผ ์์ฑํ๋ฉฐ ๋ฐฐ์์ ๐
๐๐ป
- ์๋ฐ์คํฌ๋ฆฝํธ์ ์ญ์ฌ์ ๋ชฉ์ ๋ฐ ๋ํฅ
- ์๋ฐ์คํฌ๋ฆฝํธ ๋์์๋ฆฌ
1. ์๋ฐ์คํฌ๋ฆฝํธ์ ์ญ์ฌ(1๊ฐ)
์๋ก์ด ์ธ์ด๋ฅผ ๋ฐฐ์ธ ๋๋ ๋ฐ๋ก ๋ฌธ๋ฒ์ ์ ๋ ํ๋ ๊ฒ๋ณด๋ค
๊ทธ ์ธ์ด์ ํ์๋ฐฐ๊ฒฝ์ ๋ํด ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค
- ์ด๋ป๊ฒ ํ์ํ์ผ๋ฉฐ
- ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ผ๋ฉฐ
- ์ด ์ธ์ด๋ฅผ ์ฐ๋งํ์ ๋ ์ด๋ค ๋ถ์ผ์ ๋ ํ์ฉํ ์ ์๋์ง, ์ด์ต์ ๋ฌด์์ธ์ง ๋ฅผ ์ดํดํด์ผ ๊ณต๋ถ๋ฐฉ๋ฒ์ด ๋ช ํํด์ง๋ค.
1. ๋งํฌ ์ค๋์จ์ด ์ ์ ์ธ ์น์ฌ์ดํธ์์ ์ข ๋ ๋์ ์ธ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค๊ธฐ ์ํด
Scripting ์ธ์ด๋ฅผ ์ถ๊ฐํ๊ธฐ๋ก ๊ฒฐ์ฌ
2. ๋ธ๋๋ ์์ดํฌ์ ์คํด ์คํฌ๋ฆฝํธ ์ธ์ด์ ์ปจ์
์ ๊ฐ์ ธ์ค๋ ๋ฌธ๋ฒ์ ์๋ฐ์คํ์ผ๋ก
์คํฌ๋ฆฝํธ ์ธ์ด๋ฅผ ๋ง๋ค๊ธฐ๋ก ํ๊ณ 1994๋
์ ๋ผ์ด๋ธ์คํฌ๋ฆฝํธ ์ธ์ด๊ฐ ์ถ์๋จ.
๋ผ์ด๋ธ์คํฌ๋ฆฝํธ์ ์ธ๊ธฐ๋ฅผ ๋๊ธฐ์ํด ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ด๋ฆ์ ๋ณ๊ฒฝํด์ 1995๋
์ถ์.
๋ง์ดํฌ๋ก์ํํธ์ฌ๊ฐ ๋ท์ค์ผ์ดํ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ Reverse Engineeringํด์
์ฝ๋๋ฅผ ๊ณ ๋๋ก ๋ฒ ๊ปด์ Jscript๋ฅผ ์ถ์ํจ.
3. ๋ ์ธ์ด๊ฐ ๊ฒฝ์์ ํ๋ค๊ฐ ์ฐธ๋ค๋ชปํ ๋ท์ค์ผ์ดํ๋ ECMA๋ฅผ ์ฐพ์๊ฐ
1997๋
์ฒซ๋ฒ์งธ ECMAScript ์ธ์ด ์ ์ ๋ฌธ์๊ฐ ๋์๊ณ
๊ทธ๋ค๋ก ๊ณ์ ๋ฒ์ ์ด ์
๋ฐ์ดํธ ๋๊ณ ์์
๊ทธ๋์ ๋ง์ดํฌ๋ก์ํํธ๋ ์ด ํ์คํ์ ๋ง์ถ์ง ์๊ณ ๋จ์ด์ ธ๋์ค๊ฒ ๋๋๋ฐ
2004๋
๋ชจ์ง๋ผ์ Firefox๊ฐ ECMA์ ๋ง์ถฐ ๋ค์ ํ์คํ๋ฅผ ์๋ํ๊ฒ ๋๋ค.
4. 2004๋
์ ์ ์ ์์ค๊ฐ AJAX(๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ)์ ๋ด๋๊ณ
์์ฅ์ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๋ค๋ ๋์ค๊ฒ ๋๋ฉด์
์น ์์ฅ์ด ์ปค์ง๊ณ , ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ๊ฐ ์๊ฒจ๋๋ฉฐ ์ ์ ์ปค์ง๊ฒ ๋๋ค.
์ด๋ค์ ์ํ API ๋ผ์ด๋ธ๋ฌ๋ฆฌ(jQuery, dojo,mooTools)๊ฐ์๊ฒ ๋์ค๊ฒ ๋๋ฉด์
๊ฐ๋ฐ์๋ค์ ํ์คํ ๊ฑฑ์ ์์ด API๋ฅผ ํตํด ๊ฐ๋ฐ์ ํ ์ ์๊ฒ๋์๋ค.
5. 2008๋
๊ตฌ๊ธ์์ ํฌ๋กฌ์ด๋ผ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด์
JIT(just-in-time compilation)๋ผ๋ ์ ๋ง ๊ฐ๋ ฅํ ์์ง์ด ํฌํจ๋
๋ธ๋ผ์ฐ์ ๋ฅผ ๋ด๋์ -> ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๋ค์ด ์๊ธฐ์์์ ๋๋
๊ทธ๋์ ๋๋์ด 2008๋
7์์ ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ญ์ณ ํ์คํ๋ฅผ ์๋
ผํ๊ฒ ๋จ.
2009๋
ECMAScript5 / 2015๋
ECMAScript6๊ฐ ๋์ด
6. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ด์ ์ ์ ์ฐฉ๋ ์ธ์ด๋ก ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๋ ํ์คํ๋ฅผ ์ ๋ฐ๋ผ๊ฐ๋ฏ๋ก
์ด์ jQuery๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ด ๋ฐ๋ก API๋ฅผ ํตํด
๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ์ ๋์ํ๋ ์น์ ๊ฐ๋ฐํ ์ ์๊ฒ ๋์๋ค.
7. ๋ธ๋ผ์ฐ์ ์๋ ๋ค์ํ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง๋ค์ด ์๋๋ฐ
V8์ ํฌ๋กฌ์ด ๋ด๋์ผ๋ฉด์ node์ ELECTRON ๋ฐ ๋ง์ดํฌ๋ก์ํํธ๊ฐ ์ด ์์ง์ ์ด์ฉํ๋ค.
8. ์ต์ ๋ฒ์ ์ ECMAScript6๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋ฐํ Babel ์ปดํ์ผ๋ฌ๋ฅผ ํตํด ๋ณํํ๋ค.
์์ฆ์ ๋ํฅ
SPA(Single Page Application)
ํ๋์ ํ์ด์ง ์์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์์ ํ์ํ ๋ถ๋ถ๋ง ๋ถ๋ถ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ฅผ ๋ ์ฝ๊ฒ ํ๊ธฐ ์ํด React,Vue,Angular,Backbone๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ,ํ๋ ์์ํฌ๋ค์ด ๋์ด
node.js
V8 ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ด์ฉํด ๋ฐฑ์๋์์ ์๋น์ค๋ฅผ ๊ตฌํํ ์ ์๋๋ก ๋ง๋ ๋๊ตฌ
WA(Web Assembly)
๋ธ๋ผ์ฐ์ ์์ ๋์ํ ์ ์๋ ์ธ์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ ์ผํ๋๋ฐ ์์ฆ์ WA๋ผ๋ ์ธ์ด๊ฐ ๋์์ Rust,C,C# ๋ฑ์ ํตํด ์น์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋๊ฒ ๊ฐ๋ฅํด์ก๋ค.