์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์๋ผ๋ฉด ECMAScript
์ ๋ํด์๋ ๋ชจ๋ ๋ค์ด๋ดค์ ๊ฒ์ด๋ค. ์์ธํ ์์๋ณด๋ ๊ฒ์ ์๋์ ๋ชฉ์ฐจ์์ ์ดํด๋ณด๊ณ , ์ด ๊ณณ์์๋ Javascript
์ ECMAScript
์ ์ฐจ์ด๋ง ๊ฐ๋ณ๊ฒ ์ง๊ณ ๋์ด๊ฐ์.
Javascript
๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ด๋ฆ์ด๊ณ , ECMAScript
๋ ์ธ์ด ๋ช
์ธ์์ ์ฌ์ฉํ๋ ์ด๋ฆ์ผ๋ก, ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์คํํ๊ธฐ ์ํด ๋ง๋ค์ด์ก๋ค.
์ด๋ฅผ ์๊ธฐ์ํด์๋ 1993๋
, ๋๋ฆฌ ์ธ๊ธฐ๋ฅผ ์ป๋ ์ฒซ๋ฒ์งธ ์น ๋ธ๋ผ์ฐ์ ์ NSCA์ Mosaic๊ฐ ํ์ํ ์์ ์ผ๋ก ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ์ผํ๋ค. Mosaic์ ๊ฐ๋ฐ์ ์ค ํ ๋ช
์ธ Marc Andreesen์ Mosaic Communications Corporation
์ ๊ณต๋ ์ค๋ฆฝํ๊ณ Mosaic Netscape
๋ผ๋ ์๋ก์ด ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ง๋ค์๋ค.
๊ทธ๋ฆฌ๊ณ ์ดํ์, NCSA์ ๊ด๋ จ๋ ๋ฒ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ฌ ์ด๋ฆ์ Netscape Communications Corporation
์ผ๋ก, ๋ธ๋ผ์ฐ์ ๋ Netscape Navigator
๋ก ๋ณ๊ฒฝํ๋ค.
Netscape๋ ์น์ด ๋ ๋์ ์ด์ด์ผ ํจ์ ๋นจ๋ฆฌ ๊นจ๋ฌ์๋ค. ๋น์์๋ ์ฌ์ฉ์๊ฐ ๋จ์ํ ํผ์ ์ ํํ ๊ฐ์ ์ ๋ ฅํ๋์ง ์ฒดํฌํ๊ธฐ๋ง ํ ๋๋ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ ํผ๋๋ฐฑ์ ๋ฐ์์ผํ๋ค.
๊ทธ๋์ Netscape๋ 1995๋
Brianden Eich๋ฅผ ๊ณ ์ฉํ๊ณ , ์ด๋ฐ์ ๋ฐ ์ด๋ค ํ ๋ก ๋์ Brianden Eich๋ ๋จ 10์ผ ๋ง์, ์๋ฐ์ ๋ฌธ๋ฒ์ด ๋น์ทํด๋ณด์ด๋ ์คํฌ๋ฆฝํธ ์ธ์ด ์์ ํ Mocha
๋ฅผ ๋ง๋ค์๋ค. ์ดํ Mocha
๋ LiveScript
๋ผ๋ ์ด๋ฆ์ ๊ฑฐ์ณ ์ต์ข
์ ์ผ๋ก JavaScript
๋ผ๋ ์ด๋ฆ์ผ๋ก ํ์ฌ๊น์ง ์ฌ์ฉ๋๊ณ ์๋ค.
1996๋
3์, Netscape๋ Netscape Navigator 2.0
์ ์ถ์ํ๋ฉด์, JavaScript๋ฅผ ์ง์ํ๊ธฐ ์์ํ๋ค. ์น ํ์ด์ง์ ๋์์ ํฅ์์ํค๋ ์ธ์ด๋ก์ JavaScript์ ์ฑ๊ณต์ ๋ง์ดํฌ๋ก์ํํธ๊ฐ ์ด์ ์ ๋นํ ํธํ๋๋ JScript
๋ฅผ ๊ฐ๋ฐํ๋ ๊ณ๊ธฐ๊ฐ ๋์๊ณ , ์ด๋ 1996๋
8์์ Internet Explorer 3.0
์ ํฌํจ๋์ด ์ถ์๋์๋ค.
๋ง์ดํฌ๋ก์ํํธ๋ฅผ ๊ฒฌ์ ํ๋ ค๋ ์๋๋ฅผ ์ด๋ ์ ๋ ํฌํจํด์, Netscape๋ ํ์ค ๊ธฐ๊ด์ธ Ecma International
์ ํ์คํ๋ฅผ ์ฃผ๊ดํด๋ฌ๋ผ๊ณ ์์ฒญํ๊ณ , ECMA-262
๋ช
์ธ๋ 1996๋
11์์ ์์๋์ด, 1997๋
6์, ECMA ์ผ๋ฐ ํ์์์ ECMA-262์ ์ดํ์ด ์ฑํ๋๋ค.
์ฌ(์ง๊ธ์ ์ค๋ผํด)์์ Java๋ผ๋ ์ด๋ฆ์ผ๋ก ์ํ๋ฅผ ์์ ํ๊ณ ์์์ผ๋ฏ๋ก ํ์ค ์ธ์ด์ ๊ณต์ ์ด๋ฆ์ JavaScript๋ผ๊ณ ๋ถ๋ฅผ ์๋ ์์์ผ๋ฏ๋ก, JavaScript์ ECMA๋ฅผ ํฉ์ณ, ECMAScript
๋ผ๋ ์ด๋ฆ์ ๋ถ์๋ค.
ECMAScript
๋ ECMA-262์ ์ํด ํ์คํ๋ ์ธ์ด์ ์ด๋ฆ์ด๋ค. JavaScript์ JScript๋ ๋ชจ๋ ECMAScript
์์ ํธํ์ ๋ชฉํ๋ก ํ๋ฉด์, ECMA ๊ท๊ฒฉ์ ํฌํจ๋์ง ์๋ ํ์ฅ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ค๋๋ JavaScript๋ ECMA-262์ ๋ง์กฑํ๋ ๊ตฌํ์ฒด๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
ECMAScript๋ Ecma International์ ์ฌ๋ฌ ๊ธฐ์ ์์ํ(Technial Comittee, ์ดํ TC) ์ค TC39
๋ผ๋ ์์ํ๊ฐ ์ด ๋ช
์ธ๋ฅผ ๊ด๋ฆฌํ๋ค. 1997๋
6์ ECMAScript 1
์ด ๋ฑ์ฅํ ์ดํ๋ก 2022๋
6์๊น์ง ECMAScript 13
๊น์ง ์์ฑ๋์๋ค. ECMAScript๊ฐ ์ด๋ป๊ฒ ๊ด๋ฆฌ๋๋์ง ๊ถ๊ธํ์ง ์์๊ฐ?
์ด๋ฒ ์ฅ์์๋ TC39์ ECMA-262 ํ์ค์ ์๋ก์ด ๋ช
์ธ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํ ๊ณผ์ ์ ๋ํด ์์๋ณด์.
TC39์๋ ๋ง์ดํฌ๋ก์ํํธ, ๋ชจ์ง๋ผ, ๊ตฌ๊ธ ๊ฐ์ ํ์ฌ๊ฐ ๋ค์ด๊ฐ๊ณ , ์ด ํ์ฌ์์ ์ผํ๋ ์ฌ๋๋ค, ์ฆ ๋ธ๋ ๋ ์์ดํฌ, ์จ๋ฐ ์ํ์ค-๋ธ๋ก(ECMA-262 ํธ์ง์), ๋ฐ์ด๋ ํ๋จผ ๋ฑ์ด ์์ํ ์์
์ ์ฐธ์ฌํ๋ค.
TC39๋ ECMAScript์ ๋์์ธ์ ๋ฐ์ ์ํค๊ธฐ ์ํด es-discuss๋ฅผ ๋ง๋ค์๊ณ , ์ ๊ธฐ์ ์ผ๋ก ํํฉ์ ์ด์๋ค. ์ด ํํฉ์๋ TC39 ๋ฉค๋ฒ์ ์ด๋๋ ์ ๋ฌธ๊ฐ๊ฐ ์ฐธ์ฌํ๊ณ , ํ์๋ก์ ์น์์ ๋ชจ๋ ๊ณต๊ฐ๋๋ค.
ECMA-262 ํ์ค์ ์๋ก์ด ๋ช
์ธ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํ ๊ณผ์ ์ The TC39 Process์์ ํ์ธํ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋๋ ์ฌ๊ธฐ์ ์๋ ๋ด์ฉ๋ค์ ์์ฃผ ๊ฐ๋ตํ๊ฒ ์์ฝํ์ฌ ํฌ์คํ
ํ ์์ ์ด๋ค.
TC39 Process
๋ ๋๊ตฌ๋(๋ผ์ด์ผ์ค ๊ด๋ จ ์กฐํญ์ ๋์ํ๊ณ TC39์ ์ปจํธ๋ฆฌ๋ทฐํฐ๋ก ๋ฑ๋กํ) ์ ์์ ๋ฑ๋กํ ์ ์๋ ํ์์๋น ๋จ๊ณ์ธ 0๋จ๊ณ์ ๋๋จธ์ง 4๋จ๊ณ๊น์ง 5๋จ๊ณ๋ก ๋๋์ด์ ธ์์ผ๋ฉฐ, ๊ฐ ๋จ๊ณ๋ก์ ์น๊ธ์ ์ํ ๋ช
์์ ์ธ ์กฐ๊ฑด๋ค์ด ์กด์ฌํ๋ค.
ํด๋น ์กฐ๊ฑด์ ๋ง์กฑํ ์ดํ ์์ํ์ ๋์๋ฅผ ์ป์ ์ ์๋ง์ด ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๋ค.
๊ทธ๋ ๊ฒ ์ ์์ด ์๋ง์ ๋จ๊ณ๋ค์ ๊ฑฐ์ณ ๋นํด 3์ ์ ๊น์ง 4๋จ๊ณ๋ฅผ ๋ฌ์ฑํ๋ฉด, March TC39 Meeting
์์ 4๋จ๊ณ ์ ์๋ค์ด ํตํฉ๋๊ณ ์ต์ข
์น์ธ๋๋ฉด ์ ์ฌ์ ๋ฒ์ ์ด ๋ง์คํฐ์์ ๋ถ๊ธฐ๋๋ค.
์ด ์์ ๋ถํฐ๋ ํธ์ง์์ ๋ณ๊ฒฝ๋ง ํ์ฉ๋๊ณ , ์ดํ 4~6์ ๋์ ๊ฒํ ๊ธฐ๊ฐ์ ๊ฐ์ง ํ์ 7์์ ECMA ์ดํ์์ ์๋ก์ด ํ์ค์ ์น์ธํด ์ ์์ด ECMAScript
์ ์๋ก์ด ๋ฒ์ ์ ์ถ๊ฐ๋๋ค.
์ด๋ ๊ฒ JavaScript
์ ECMAScript
์ ํ์๊ณผ ์๋ฏธ, ECMAScript์ ์๋ก์ด ๋ช
์ธ๊ฐ ์ถ๊ฐ๋๋ ๊ณผ์ ๊น์ง ์์๋ดค๋ค. ๊ธ์ด ๋๋ฌด ๋ฌด๊ฑฐ์์ง๋ ๊ฒ์ ๋ง๊ธฐ ์ํด์ ๊ฐ๋ตํ ์ ์ ๋ถ๋ถ์ด ๋ง์ผ๋ ๊ด์ฌ์ด ์๋ ์ฌ๋์ด๋ผ๋ฉด ์๋์ ์ ์ด๋์ ์ฐธ๊ณ ์๋ฃ๋ฅผ ํตํด ์ถ๊ฐ์ ์ผ๋ก ๊ณต๋ถํด๋ณด๊ธธ ๋ฐ๋๋ค!