์๋ ๋ด์ฉ์ ๋๋ฆผ์ฝ๋ฉ: ์๋ฐ์คํฌ๋ฆฝํธ์ ์ญ์ฌ์ ํ์ฌ ๊ทธ๋ฆฌ๊ณ ๋ฏธ๋ ์์์ ์ฐธ๊ณ ํ ๊ธ์ ๋๋ค. ์ ์ตํ ๋ด์ฉ ์ ํด์ฃผ์ ์๋ฆฌ ๋๊ป ๊ฐ์ฌ๋ฅผ ํํ๋ฉฐ, ์์์ ํตํด ํ์ตํ ๋ด์ฉ์ ์๋์ ์ ๋ฆฌํด ๋ณด์์ต๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์ ์ญ์ฌ๋ฅผ ์ ์์์ผ ํฉ๋๊น
์๋ก์ด ์ธ์ด๋ฅผ ๋ฐฐ์ธ ๋ ๋ฐ๋ก ๋ฌธ๋ฒ ๊ณต๋ถ์ ์ ๋
ํ๋ ๊ฒ๋ณด๋ค ๊ทธ ์ธ์ด์ ํ์ ๋ฐฐ๊ฒฝ์ ๋ํด ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ํ๋ค.
๊ณผ๊ฑฐ๋ฅผ ์์์ผ ํ์ฌ๊ฐ ๋ณด์ด๊ณ , ๋ฏธ๋๋ฅผ ์์ธกํ ์ ์๋ค๊ณ ํ์ง ์๋. ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ด๋ป๊ฒ ํ์ํ์ผ๋ฉฐ ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๋ค์ด์ก๊ณ , ์ด ์ธ์ด๋ฅผ ๋ค๋ฃฐ์ค ์๋ฉด ์ด๋ค ๋ถ์ผ์ ๋ ํ์ฉํ ์ ์๋์ง ์ ์ ์๊ธฐ ๋๋ฌธ์ด ์๋๊น ์ถ๋ค.
๋ฌธ๋ฒ ๊ณต๋ถ๋ณด๋ค๋ ์๋์ ์ผ๋ก ์ฐ์ ์์๊ฐ ๋ฎ์ ์ ์์ง๋ง, ์์๋๋ฉด ์ฌ๋ฏธ์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ญ์ฌ์ ๋ํด ์ ๋ฆฌํด ๋ณด์.
ํ์ด์ ๋ชจ์์ดํฌ๋ผ๋ ๊ฒ ์์๋จ๋ค
1993๋ , ์ง์ง๋ง๋ค ์ปดํจํฐ๊ฐ ์์๋ ๊ทธ ์์ ์๋ ์ปดํจํฐ๋ฅผ ์ ๋ชจ๋ฅด๋ ์ฌ๋๋ค๋ ์ฝ๊ฒ ์ธ ์ ์๋ UI ์์๊ฐ ๋ํด์ง MOSAIC ์น๋ธ๋ผ์ฐ์ ๊ฐ ์์ฅ์ ๋์ค๊ฒ ๋๋ค.
์ด MOSAIC ์น๋ธ๋ผ์ฐ์ ์ ๊ฐ๋ฐ ํ์ ์ด๋๋ Marc Andreessen์ ๋ํ ์กธ์ ํ, Netscape๋ผ๋ ํ์ฌ๋ฅผ ์ค๋ฆฝํ์ฌ, ์ด์ ์ ๋ง๋ค์๋ MOSAIC ์น๋ธ๋ผ์ฐ์ ์ ๊ฒฝํ์ ํ ๋๋ก ์กฐ๊ธ ๋ UI ์์๊ฐ ๋ํด์ง Netscape Navigator๋ฅผ ์์ฅ์ ๋ด๋์๋ค.
์ด ๋น์์๋ HTML๊ณผ CSS๋ก ๊ฐ๋จํ๊ฒ ์น ํ์ด์ง๋ฅผ ๋ง๋ค ์ ์์๋ค. ๋จ, HTML(Hyper Text Markup Language)์ ํ ์คํธ์ ๋งํฌ๋ฅผ ๊ฑธ์ด์ ํ์ด์ง์ ํ์ด์ง ์ฌ์ด์ ์ด๋๋ง ๊ฐ๋ฅํ ์ ์ ์ธ ์น ์ฌ์ดํธ๋ง ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค. ์ด Netscape Navigator๋ ์์ฅ์์ 80%์ ์ ์ ์จ์ ์๋ํ๋ฉด์ ๊ธ๊ฒฉํ ์ฑ์ฅํด ๋๊ฐ๋ค.
๊ทธ๋ฆฌ๊ณ Marc Andreessen๋ ์ด๋ป๊ฒ ํ๋ฉด ๋์ ์ธ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค ์ ์์๊น. ์ฆ, ์ฌ์ฉ์๋ค์ด ์น์ฌ์ดํธ๋ฅผ ๋ ๋ค์ด๋๋ฏนํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํ๋ค. ์ด์ ๊ทธ๋ ์คํฌ๋ฆฝํ ์ธ์ด๋ฅผ ์ถ๊ฐํ์๋ ๊ฒฐ๋ก ์ ๋ด๋ฆฐ๋ค. ์ฌ์ฉ์๋ค์๊ฒ ๋ณด์ฌ์ฃผ๊ณ ์๋ ์น์ฌ์ดํธ ์์์ DOM ์์๋ค์ ์กฐ์ํ๋ฉด์ ๋ค์ด๋๋ฏนํ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์๋ก์ด ์ธ์ด๋ฅผ ์ถ๊ฐํ๊ธฐ๋ก ๊ฒฐ์ฌํ๋ค.
์ธ์ด๋ฅผ 10์ผ ์์ ๊ฐ๋ฐํ๋ผ๊ณ ?
์ฒ์์ผ๋ก ๊ณ ๋ ค๋์๋ ๊ฒ์ ๊ทธ๋ ํ์ฐธ ๋จ๊ณ ์์๋ Sun Microsystems์ Java ์ธ์ด์๋ค. ํ์ง๋ง ์น์ฌ์ดํธ๋ฅผ ์ฃผ๋ก ๊ฐ๋ฐํ๋ ๊ฐ๋ฐ์๋ค์ด ์ฐ๊ธฐ์๋ ๋ค์ ๋ฌด๊ฒ๊ณ ์ด๋ ค์ด ์ธ์ด์๊ธฐ ๋๋ฌธ์ ๊ณ ๋ ค ๋์์์ ์ ์ธ๋์๋ค.
๋ ๋ฒ์งธ๋ก ์๋ํ ๊ฒ์ Brendan Eich ๋ผ๋ ์ฌ๋์ ์ค์นด์ฐํธํด์ ๊ธฐ์กด์ ์กด์ฌํ๋ scheme script ์ธ์ด๋ฅผ ์กฐ๊ธ ๋ณํํ๋ ์๋์๋ค. ๊ทธ๋ฆฌํ์ฌ ์ด๋ค์ ๋ณธ์ธ๋ค๋ง์ ์๋ก์ด ์ธ์ด๋ฅผ ๋ง๋ค๋ฉด์๋, ๊ธฐ์กด scheme script ์ธ์ด์ ์ปจ์
์ ์ ์งํ๊ณ ๋ฌธ๋ฒ์ Java์ค๋ฝ๊ฒ ๋ง๋ค๊ธฐ๋ก ํ๋ค.
๊ฒ๋ค๊ฐ ๋ฌด๋ ค ์ด ์ธ์ด๋ฅผ ๋ฌด๋ ค 10์ผ ์์ ๋ง๋ค๊ธฐ๋ก ํ๋ค. ์ด๊ฒ ์ด๋ป๊ฒ ๊ฐ๋ฅํ์๊น? ๊ทธ๋ ์ฒ์ฌ๋ค.. ๋๋๊ฒ๋ ์ ๋ง 10์ผ ์์ ํ๋กํ ํ์ ์ ๋ฒ ์ด์ค๋ก ํ ์ ์ฐ์ฑ ์ฉ๋ ์ธ์ด๋ฅผ ๊ฐ๋ฐํ๋ค.
๋ชจ์นด๋ ์ปคํผ ์๋๊ณ ์ธ์ด์ ๋๋ค
1994๋ 9์, ๋ด๋ถ์ ์ผ๋ก๋ Mocha ๋ผ๊ณ ๋ถ๋ ธ๋ ์๋ก์ด ์ธ์ด๊ฐ ํ์ํ๊ฒ ๋๋ค. ์ด๊ฒ์ด ์ถํ LiveScript๋ก ์ด๋ฆ์ด ๋ฐ๋๊ฒ ๋๊ณ , Netscape Navigator๋ LiveScript๋ฅผ ์ดํดํ๊ณ ์คํํ ์ ์๋ LiveScript ์์ง ์ฆ, Interpreter๊ฐ ํฌํจ์ด ๋์ด์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ถ์๋๋ค.
์ด๋ ์ด์ ์น ๊ฐ๋ฐ์๋ค์ด LiveScript๋ฅผ ์ด์ฉํด ์น ํ์ด์ง๋ฅผ ๋ง๋ค๋ฉด Netscape Navigator ๋ธ๋ผ์ฐ์ ๊ฐ ๊ทธ ์ธ์ด๋ฅผ ์ดํดํ๋ฉด์ ๊ทธ ์ธ์ด๊ฐ ์คํํ๊ณ ์ ํ๋ ๊ฒ์ ์๋ง๊ฒ DOM ์์๋ค์ ์กฐ์ํ ์ ์๋ ๊ฒ์ด ๊ฐ๋ฅํด์ง๊ฒ ๋๋ค๋ ์๋ฏธ์ด๊ธฐ๋ ํ๋ค.
์๋ฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์๊ฑฐ ์๋?
๊ทธ๋ฆฌ๊ณ ๊ทธ ๋น์์ Java์ ์ธ๊ธฐ๊ฐ ์น์๊ณ ์์๋๋ฐ Netscape์ฌ๋ ์ด๋ป๊ฒ ํ๋ฉด Java์ ์ธ๊ธฐ์ ์ด์ง ์นํ์ ์ ์ฌ๋ผํ ์ ์์๊น ๊ณ ๋ฏผํ๋ฉด์ LiveScript์ ์ด๋ฆ์ JavaScript๋ก ๋ณ๊ฒฝํ๊ฒ ๋๋ค. ๊ทธ๋์ ์ด๊ฒ ๋๋ฌธ์ ์ข ์ข Java์ JavaScript๊ฐ ๋น์ทํ ๊ฒ์ผ๋ก ์คํดํ๋ ์ผ๋ค์ด ์๊ธฐ๊ณค ํ๋ค. ๋ ๋ํ ๊ฐ๋ฐ ๊ณต๋ถ๋ฅผ ์ฒ์ ์์ํ ๋๋ Java์ JavaScript๊ฐ ๋น์ทํ ๊ฒ์ธ ์ค ์์๋ค..
์ด๋ ๊ฒ ํ์ฌ 1995๋ ๋์ ๊ณต์์ ์ผ๋ก Netscape Navigator ๋ธ๋ผ์ฐ์ ์์ JavaScript์, JavaScript๋ฅผ ์ดํดํ ์ ์๋ ์์ง์ด ํฌํจ์ด ๋์ด ์ถ์๊ฐ ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ๋ฒ ๋ผ์
์ด๋ฐ Netscape์ ์ฑ๊ณต ์ฌ๋ก๋ฅผ ๋ชฉ๊ฒฉํ๊ณ Microsoft์ฌ๋ ์๊ธฐ๋ค๋ง์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ถ์ํด์ผ ๊ฒ ๋ค๋ ์๊ธฐ๊ฐ์ ๋๋ผ๊ธฐ๋ ํ๋ค. ๊ทธ๋์ ์ด๋ค์ Netscape์์ ์ถ์ํ ๋ธ๋ผ์ฐ์ ๋ฅผ reverse ์์ง๋์ด๋งํ๊ฒ ๋๋ค. ์ฌ๊ธฐ์ reverse ์์ง๋์ด๋ง์ ๋ง๋ค์ด์ง ํ๋ก๊ทธ๋จ์ binary ์ฝ๋๋ฅผ ๋ถ์ํด์ ์์ค์ฝ๋๋ฅผ ๋ณต์ํด ๋ด๋ ๊ณผ์ ์ ๋งํ๋ค.
๊ทธ๋์ ๊ฒฐ๊ตญ์ Netscape์ฌ์์ ๋ง๋ JavaScript์ ๊ทธ ์์ง์ ์์ค์ฝ๋๋ฅผ ๋ฒ ๊ปด ์, ์ฝ๊ฐ์ ๊ธฐ๋ฅ๋ค์ ๋ณ๊ฒฝํด์ ์์ ๋ค๋ง์ ์ธ์ด์ธ์ฒ ์ธ์ด๋ฅผ ํ๋ ๋ง๋ค๊ฒ ๋๋ค. ๊ฒ๋ค๊ฐ JScript๋ผ๊ณ ์ด๋ฆ์ ๋ณ๊ฒฝํด ์์ฅ์ ๋ด๋๊ฒ ๋๋ค.
๊ทธ๋ฆฌํ์ฌ 1995๋ ๋ ๋ง์ดํฌ๋ก์ํํธ์ฌ์์๋ Internet Explorer๋ฅผ ์์ฅ์ ๋ด๋๊ฒ ๋๋ค.
์ ๋ฐ ํ์ค ์ข ๋ง๋ค์ด์ค..
๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฐ๋ฐ์๋ค์ ๊ณ ํต์ ์์์ด๊ธฐ๋ ํ๋ค. ์น ๊ฐ๋ฐ์๋ค์ ๋๋ฌด๋ ๋ค๋ฅธ ์ด ๋ ๋ธ๋ผ์ฐ์ ์์์๋ ์ ๋์ํ ์ ์๋ ์น์ฌ์ดํธ๋ค์ ๋ง๋ค์ด์ผ ํ๋ค.
๊ทธ๋์ ๊ทธ ๋น์์๋ ์น์ฌ์ดํธ์์ ์์ ๊ฐ์ ๋ฌธ๊ตฌ๋ค์ ๋ณด๋ ๊ฒ ๋๋ฌด๋ ์์ฐ์ค๋ฌ์ ๊ธฐ๋ ํ๋ค. ์ด ์ฌํ๋ฅผ ๋ ์ด์ ์ฐธ์ง ๋ชปํ Netscape์ฌ๋ ECMA International ๋ผ๋ ๋จ์ฒด์ ์ฐพ์๊ฐ์ ๋ณธ์ธ๋ค์ด ๋ง๋ JavaScript๋ก ํ์ค์์ ๋ง๋ค์ด๋ณด์๋ผ๊ณ ์ ์ํ๊ฒ ๋๋ค.
ECMAScript์ ํ์
๊ทธ๋ฆฌํ์ฌ 1997๋ 7์, ๋๋์ด ์ฒซ ๋ฒ์งธ ECMAScript1์ด ์์ฅ์ ๋์ค๊ฒ ๋๋ค. ECMAScript๋ ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ ์ธ์ด๋ฅผ ๋ง๋ค ๋, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ธ์ด๋ฅผ ์ดํดํ ์ ์๋ ์์ง์ด ์ดํดํ๊ธฐ ์ํ ๋ฌธ๋ฒ์ ์ธ ์ฌํญ๋ค์ ์ ์ ๋ฆฌํ ๋ฌธ์๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ค์ ์๋ก์ด ๋ฒ์ ๋ค์ด ๊ณ์ ๋์ค๋๋ฐ, ํนํ ECMAScript3 ์์๋ ์๋ก์ด ์๋ฌ ํธ๋ค๋ง ๋ฐฉ์์ ๊ด๋ จ๋ ๋ฌธ๋ฒ์ด๋, ๊ด๊ณ ์ฐ์ฐ์ ๋ฑ์ด ์๋ก ์ถ๊ฐ๋์๋ค. ๊ทธ๋ฆฌ๊ณ ECMAScript4๋ถํฐ๋ class, original type annotation ๋ฑ ๋ค์ํ ์์ด๋์ด๊ฐ ๋ ผ์๋๋ค. ๋ค์์ ๋งํ ๊ฒ์ด์ง๋ง ๊ทธ๋ฅ ๋ ผ์๋ง ๋์๋ค. ๋ ผ์๋ง..
Internet Explorer์ ๋ฐ๊ฒฉ
์ด๋ ๊ฒ ๋ง์ ๊ฒ๋ค์ด ๋
ผ์๋๋ ๋์ Internet Explorer์ ์์ฅ์ ์ ์จ์ด ๊ธ๊ฒฉํ ์์นํ๋ค. 2023๋
์ธ ํ์ฌ ์ต์คํ๋ก๋ฌ๋ ์๋ ์ด ์ธ์๊ณผ๋ ๋ค๋ฅด๊ฒ ๋น์์๋ ๋ฌด๋ ค 95%์ ์ฌ์ฉ์๋ค์ด Internet Explorer๋ฅผ ์ฌ์ฉํ๋ค.
์ด๋ ๊ฒ ํฐ ์์ฅ ์ ์ ์จ์ ํ๋ณดํ๊ฒ ๋ ๋ง์ดํฌ๋ก์ํํธ์ฌ๋ ๊ฑด๋ฐฉ์ ธ์ง๊ธฐ ์์ํ๋ค. ์ฆ, ๋ณธ์ธ๋ค์ด ๋ง๋ Internet Explorer๊ฐ ํ์ค์ด๋ผ๋ ์ฃผ์ฅ์ ํ๋ฉฐ ๋ ์ด์ ECMAScript ํ์ค์์ ๋์ํ์ง ์๊ฒ ๋๋ค. ์ด๋ก ์ธํด ECMAScript4๋ ๋น์ ๋ณด์ง ๋ชปํ๋ฉฐ ๋ฒ๋ ค์ง๊ณ ์ดํ ํ์คํ ์งํ์ด ๋๋์ก๊ธฐ์, ๊ฒฐ๊ณผ์ ์ผ๋ก ECMAScript4 ๋
ผ์ ์ดํ ECMAScript5๊ฐ ๋์ฌ ๋๊น์ง ์ฝ 10๋
๊ฐ์ ๊ณต๋ฐฑ์ด ์์๋ ๊ฒ์ด๋ค.
๋ถ๋๋๋ ์ข ๊ปด์ฃผ๋ผ
๊ทธ๋ฆฌ๊ณ 4๋ ๋ค์ธ 2004๋ ๋์ ๋๋์ด Mozilla์ฌ์์ Firefox ๋ธ๋ผ์ฐ์ ๊ฐ ์ถ์๋๋ค.
๊ทธ๋ฆฌ๊ณ Mozilla์ฌ๋ ECMA International ๋จ์ฒด๋ฅผ ์ฐพ์๊ฐ์ ๋ณธ์ธ๋ค์ด ๊ฐ์ง๊ณ ์๋ ActionScript์ ์ด ์ธ์ด๋ฅผ ์ดํดํ ์ ์๋ Tamarin์ด๋ผ๋ ์์ง์ผ๋ก ํ์คํ๋ฅผ ๋ค์ ๊ฒํ ํด ๋ณด์๊ณ ์ ์ํ๋ค. ํ์ง๋ง ActionScript์ Tamarin์ ๊ธฐ์กด์ ๋ธ๋ผ์ฐ์ ์์ ์ฐ์ด๊ณ ์๋ JScript์ JavaScript์๋ ๋๋ฌด๋ ๋ฌ๋๊ธฐ ๋๋ฌธ์ ๋ค์ ํ์ค์์ ์งํํ๊ธฐ์๋ ์กฐ๊ธ ๋ฌด๋ฆฌ๊ฐ ์์๋ค.
์ด๊ฐ์ด ํ์คํ๋ฅผ ์์ ๋๊ณ Netscape, Microsoft, Mozilla 3์ฌ์ ์น์ดํ ์ ๊ฒฝ์ ์ด ๊ณ์ ๋ฒ์ด์ง๊ณ ์์๋ค. ๊ทธ๋์ ๋ถ์ํ ๊ฐ๋ฐ์๋ค์ ์์ฅ์ ์กด์ฌํ๋ ๋ค์ํ ๋ธ๋ผ์ฐ์ ์์ ์ ๋์ํ ์ ์๋๋ก ์น ํ์ด์ง๋ฅผ ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฉ๊ณ ์์ ํ๋ฉด์ ์นํ์ด์ง๋ฅผ ๋ง๋ค์ด ๋๊ฐ์ผ ํ๋ค.
๊ทธ๋ฆฌ๊ณ 2004๋
, ์น ์์ฅ์์๋ ๊ต์ฅํ ํ๊ธฐ์ ์ธ ์ผ์ด ๋ฐ์ํ๊ฒ ๋๋๋ฐ..
Ajax์ ๋ฑ์ฅ
๋ฐ๋ก Jesse James Garrett ๋ผ๋ ์ฌ๋์ด Ajax(Asynchronous JavaScript and XML)๋ผ๋ ๊ฒ์ ์ธ์์ ๋ด๋๋๋ค. ์ด๋ ๋น๋๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์์ ๋ฐ์์ค๊ณ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๋ ๊ฒ์ด๋ค.
ํ์ง๋ง ์ด๋ฌํ Ajax์ ๋์ ์๋ ๋ถ๊ตฌํ๊ณ ์ฌ์ ํ ECMAScript ํ์คํ๋ฅผ ์๋๊ณ 3์ฌ์ ์น์ดํ ์ ๊ฒฝ์ ์ ๊ณ์๋์๋ค. ๊ฒ๋ค๊ฐ ๊ทธ๋์ ์์ฅ์๋ Opera ๋ธ๋ผ์ฐ์ ๋ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๋ค์ด ๋ง์ด ๋์ค๊ฒ ๋์๊ณ , ๊ฐ๋ฐ์๋ค์ ๋ค์ํ ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ ์น ํ์ด์ง๋ฅผ ๋ง๋๋๋ผ ์ฌ์ ํ ๊ณ ์์ ํ๊ณ ์์๋ค. ์ด๋ ๊ฒ ์น ์์ฅ์ ์์๊ฐ ๋ง์์ง์ ๋ฐ๋ผ ๋ง์ ๊ฐ๋ฐ์๋ค์ด ์ด ์น ์์ฅ์ผ๋ก ๋ค์ด์ค๊ฒ ๋๊ธฐ๋ ํ๋ค.
J query์ ๋ฑ์ฅ
๊ทธ๋ฆฌ๊ณ ์ด๋ฐ ๋ง์ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ์์ํ ๊ฐ๋ ฅํ ์ปค๋ฎค๋ํฐ๊ฐ ํ์ฑ๋๊ธฐ ์์ํ๋ค. ์ด๋ฐ ์ปค๋ฎค๋ํฐ ์ฌ์ด์์ jQuery, dojo, mootools ๋ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ๋ง์ด ๋์ค๊ฒ ๋๋ค.
์ด๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ํด๊ฒฐํ๊ณ ์ ํ๋ ๊ณตํต๋ ๋ฌธ์ ์ ์ ๋ฑ ํ๋์๋ค. ๊ฐ๋ฐ์๋ค์ด ๋ ์ด์ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ ๊ตฌํ ์ฌํญ์ ์ ๊ฒฝ ์ฐ์ง ์์๋ ๋๊ฒ ๋ง๋๋ ๊ฒ์ด์๋ค. ๊ทธ์ค์์๋ "write less, do more" ์ด๋ผ๊ณ ํ๋ jQuery๊ฐ ๋ง์ ์ฌ๋์ ๋ฐ๊ฒ ๋์๋ค.
๊ฐ๋ ฅํ Chrome์ ๋ฑ์ฅ
์ด๋ฐ ๋ณํ๋ค ์์์๋ ์น ์์ฅ์ ๊ธ๊ฒฉํ๊ฒ ๋ฐ๊พธ๋ ์ง์ทจ์ ์ธ ์ฌ๊ฑด์ด ํ๋ ์์๋ค. ๊ทธ๊ฒ์ ๋ฐ๋ก 2008๋ ์ Google์์ ํ์ฌ ์ฐ๋ฆฌ๊ฐ ์ ์ฌ์ฉํ๊ณ ์๋ Chrome ๋ธ๋ผ์ฐ์ ๋ฅผ ์ถ์ํ ๊ฒ์ด๋ค.
Chrome ๋ธ๋ผ์ฐ์ ๋ Just-in-time compilation ์ด๋ผ๋ ๊ต์ฅํ ๊ฐ๋ ฅํ ์์ง์ด ํฌํจ๋ ๋ธ๋ผ์ฐ์ ๋ค. JavaScript๋ฅผ ์คํํ๋ ์๋๊ฐ ์์ฒญ ๋น ๋ฅธ ๊ฐ๋ ฅํ ์์ง์ด ํฌํจ๋ ๊ฒ์ด๋ค. ์ด๋ฌํ ํฌ๋กฌ์ ํ๊ธฐ์ ์ธ ๋ฑ์ฅ์ ์์ฅ์ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๋ค์ ์ฑ๋ฅ ๊ฐ์ ์ ๋ํ ํ์์ฑ์ ๋๋ผ๋ฉฐ ์ข์ ์๊ทน์ ๋ฐ๊ฒ ๋๊ธฐ๋ ํ๋ค.
์ด์ ๋ ํต์ผ ์ข ํ์
๋๋์ด.. ๋๋์ด! 2008๋ 7์์ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๋ค์ด ๋ชจ์ฌ, ํ์คํ๋ฅผ ๋ง๋ค๊ณ ์๋ก ์์ํ ์ ์๋ ๊ด๊ณ๋ฅผ ํ์ฑํ์๋ฉฐ ์์ฐ์ ์ธ ๋ํ๋ฅผ ํ๋ค. ๊ทธ๋ฆฌํ์ฌ 2009๋ ์ ECMAScript5๊ฐ ๋์ค๊ฒ ๋๊ณ , ๋ค์ด์ด 2015๋ ๋์๋ ์ฐ๋ฆฌ๊ฐ ์ ์๋ ECMAScript6๊ฐ ๋์ค๊ฒ ๋ ๊ฒ์ด๋ค.
์ฐ๋ฆฌ๊ฐ ํ์ฌ ์ฌ์ฉํ๋ class๋ arrow function, const์ let ๋ฑ์ด ๋ชจ๋ ECMAScript6์ ์ ์๋์๋ค. ๊ทธ ๋ค๋ก๋ ๋งค ํด ์๋ก์ด ๋ฒ์ ๋ค์ด ๋์ค๊ณ ์๋๋ฐ ์กฐ๊ธ์กฐ๊ธ์ฉ ์์ ๋ ๋ถ๋ถ๋ค์ผ๋ฟ, ๊ฑฐ์ ์ปค๋ค๋ ๋ณํ๋ค์ ECMAScript5์ 6์์ ๋ชจ๋ ์ ์๋์๋ค๊ณ ๋ณผ ์ ์๋ค.
์ฑ์ํด์ง๊ณ ์ ์ ์ฐฉํ๋ค
ECMAScript6๋ฅผ ๊ธฐ์ ์ผ๋ก JavaScript๋ “Mature, Settled down”์ด๋ผ๋ ๋ง์ด ๋์ค๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๋ค์ด ECMAScript์ ํ์ค ์ฌํญ์ ์ ๋ฐ๋ผ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ ์ด์ jQuery ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋์ ์์ด๋ ์ถฉ๋ถํ JavaScript์ ์น APIs์์ ์ ๊ณตํ๋ API๋ค ๋ง์ผ๋ก๋ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ์ ๋์ํ ์ ์๋ ์น ์ฌ์ดํธ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์๊ฐ ์๊ฒ ๋์๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ์ ๋ธ๋ผ์ฐ์ ๋ค๋ง๋ค ECMAScript์ ํ์ค์์ ๋ฐ๋ผ๊ฐ๋ ๋ค์ํ ์์ง๋ค(Chrome์ V8, Firefox๋ SpiderMonkey, ๊ทธ๋ฆฌ๊ณ Safari์๋ JSCore)์ด ์กด์ฌํ๊ฒ ๋๋ค. ์ด ์ค์์๋ Chrome์ V8 JavaScript ์์ง์ Nodejs์ Electron์์๋ ์ด์ฉ๋๊ธฐ๋ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ด์ด 2020๋ 2์์๋ Microsoft์ฌ์์๋ V8 ์์ง์ ๋์ฒดํด์ ์ฌ์ฉํ๊ธฐ ์์ํ๋ค.
๋ฒ์ ์ด ๋ค ๋ค๋ฅด๋ฉด ์ด๋กํด
์์ฅ์์ ๋ค์ํ ์ฌ์ฉ์๋ค์ ๋ค์ํ ๋ธ๋ผ์ฐ์ ๋ค์ ์ฐ๊ณ ์๊ณ , ๋ชจ๋ ์ฌ์ฉ์๋ค์ด ์ต์ ๋ธ๋ผ์ฐ์ ๋ฒ์ ์ ์ฐ๊ณ ์๋ ๊ฒ์ ์๋๋ค. ํ์ง๋ง ๊ฐ๋ฐ์๋ค์ ์ต์ ๋ฒ์ ์ ECMAScript๋ก ๊ฐ๋ฐ ํ๊ณ ์ถ์ผ๋ฏ๋ก ๊ฐ๋ฐํ ๋๋ ์ต์ ๋ฒ์ ์ ECMAScript๋ฅผ ์ฐ๊ณ , ์ฌ์ฉ์์๊ฒ ๋ฐฐํฌํ ๋๋ง JavaScript Transcompiler๋ฅผ ์ด์ฉํ๊ฒ ๋๋ค.
์ฆ, ECMAScript์ ์ต์ ๋ฒ์ ์ 5๋ 6์ผ๋ก ๋ณํํด์, ๋ณํ๋ ์ฝ๋๋ฅผ ์์ฐํด ์ฃผ๋ Transcompiler๊ฐ ๋ฐ๋ก ๊ทธ ์ ๋ช ํ Babel์ด๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ํ๋๋ง ์ํด๋..
ํ์ฌ๋ Single Page Application๋ JavaScript๋ง์ผ๋ก ์ถฉ๋ถํ ๊ตฌํํ ์ ์์ง๋ง, ๋ ์ฝ๊ณ ํจ์จ์ ์ผ๋ก ๊ฐ๋ฐํ๊ธฐ์ํด React, Angular, Vue ๊ฐ์ ๊ฒ๋ค์ด ํ์ํ๊ธฐ๋ ํ๋ค. ํ์คํ๋ ECMAScript, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ ฅํ V8 ์์ง์ผ๋ก ์ธํด ๋ฐฑ์๋์์๋ ๊ตฌํํ ์ ์๋๋ก Node js๊ฐ ๋ฑ์ฅํ๊ธฐ๋ ํ๋ค. React Native๋ฅผ ์ด์ฉํด ๋ชจ๋ฐ์ผ ์ดํ๋ฆฌ์ผ์ด์ ๋ ์ถฉ๋ถํ ๋ง๋ค ์ ์๊ณ , Electron์ผ๋ก Desktop ์ ํ๋ฆฌ์ผ์ด์ ๋ ๋ง๋ค ์ ์๊ฒ ๋์๋ค.
์ ๋ฆฌํ๋ฉฐ
์ฆ, JavaScript๋ง ์ ๋ฐฐ์๋๋ฉด ์ด์ฉํ ์ ์๋ ๋ถ์ผ๋ ๋ฌด๊ถ๋ฌด์งํ๋ค๋ ๋ป์ด๋ค. ๋ฌผ๋ก TypeScript ๋ฑ ๋ค์ํ ๊ฒ๋ค์ด ์๊ฒจ๋๊ณ ์์ง๋ง, ์ค๋ ์์๋ณธ ๊ฒ์ฒ๋ผ ๊ฒฐ๊ตญ ๋ฟ๋ฆฌ๋ JavaScript์ด๊ธฐ ๋๋ฌธ์ JavaScript ํ๋๋ง ์ํด๋์ด๋ ๋ค๋ฅธ ๊ธฐ์ ์ญ๋ ต์ ๋น๊ต์ ์ฌ์ธ ๊ฒ์ด๋ค.
๐ ๋ด์ฉ ์ฐธ์กฐ
- Youtube ๋๋ฆผ์ฝ๋ฉ: ์๋ฐ์คํฌ๋ฆฝํธ์ ์ญ์ฌ์ ํ์ฌ ๊ทธ๋ฆฌ๊ณ ๋ฏธ๋
'๐ Language > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฐ์คํฌ๋ฆฝํธ symbol์ ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น? (0) | 2023.09.19 |
---|---|
์ ๊ณ ์ฐจํจ์์์๋ ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ ์ ๊ฑฐํ ๊น? (0) | 2023.09.17 |
์ ES6๋ถํฐ ํด๋์ค ๊ฐ๋ ์ด ์ถ๊ฐ๋๊ฑธ๊น? (0) | 2023.09.07 |
์ด๋ฒคํธ ๋ฃจํ(Event Loop)์ ๋์ ์๋ฆฌ (0) | 2023.09.02 |
JavaScript ์์ ์๋ฃํ๊ณผ ์ฐธ์กฐ ์๋ฃํ์ ๋ํด ์ฝ๊ฒ ์ดํดํด ๋ณด์. (1) | 2023.03.02 |
๋๊ธ