ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MJDD] 2์žฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ž€?
    Language/JavaScript 2024. 11. 28. 16:57
    728x90

    ๐Ÿšจ ์ด ๊ธ€์€ '๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive (์ด์›…๋ชจ ์ €)'๋ฅผ ์ฝ๊ณ , ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ž€?

    2.1 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํƒ„์ƒ

    1995๋…„ ๋‹น์‹œ ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง€๋ฐฐํ•˜๋˜ ๋„ท์Šค์ผ€์ดํ”„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ฆˆ(Netscape ommunications)๊ฐ€ ์›นํŽ˜์ด์ง€์˜ ๋ณด์กฐ์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ฒฝ๋Ÿ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋„์ž…ํ•œ๋‹ค.
    ์ด๊ฒƒ์ด ๋ธŒ๋žœ๋˜ ์•„์ดํฌ(Brandan Eich)๊ฐ€ ๊ฐœ๋ฐœํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์ด๋‹ค.

    1996๋…„ 3์›” "Mocha"๋กœ ๋„ท์Šค์ผ€์ดํ”„์˜ ๋„ค๋น„๊ฒŒ์ดํ„ฐ2์— ํƒ‘์žฌ๋˜๊ณ , 9์›” "LiveScript"๋กœ ๋ช…๋ช…๋˜์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ๋‹น์‹œ ์œ ํ–‰ํ–ˆ๋˜ Java์— ํŽธ์Šนํ•˜๊ณ ์ž "JavaScript"๋กœ ์ตœ์ข… ๋ช…๋ช…๋˜์—ˆ๋‹ค.

    2.2 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ‘œ์ค€ํ™”

    ๊ทธ๋Ÿฌ๋‹ค 1996๋…„ 8์›”์— "๋Œ€" ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์‚ฌ๊ป˜์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํŒŒ์ƒ ๋ฒ„์ „์ธ "JScript"๋ฅผ ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ์— ํƒ‘์žฌํ–ˆ๋‹ค.
    ๋ฌธ์ œ๋Š” ์ด JScript์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ˜ธํ™˜์„ฑ์ด ๋–จ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

    ๋‘ ํšŒ์‚ฌ๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ ์œ ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๊ฒฝ์Ÿ์ ์œผ๋กœ ๊ธฐ๋Šฅ์„ ๊ฐ ์–ธ์–ด์— ์ถ”๊ฐ€ํ–ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์Ÿํžˆ ์‹ฌํ•ด์ง€๋ฉด์„œ ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ , ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ œ์„œ ์ •์ƒ์ ์œผ๋กœ ํ•œ ์ฝ”๋“œ๋กœ ๋™์ž‘ํ•˜๋Š” ์›นํŽ˜์ด์ง€๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์–ด๋ ค์›Œ ๊ฐ๊ฐ์— ๋Œ€์‘๋œ ์–ธ์–ด๋กœ ์งœ์•ผ๋งŒ ํ–ˆ๋‹ค.

    ๋”ฐ๋ผ์„œ 1996๋…„ 11์›” ๋„ท์Šค์ผ€์ดํ”„๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ํ‘œ์ค€์„ ๊ด€๋ฆฌํ•˜๋Š” ๋น„์˜๋ฆฌํ‘œ์ค€ํ™” ๊ธฐ๊ตฌ์ธ ECMA ์ธํ„ฐ๋„ค์…”๋„์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ‘œ์ค€ํ™”๋ฅผ ์š”์ฒญํ•œ๋‹ค.

    1997๋…„ 7์›” ECMA-262๋ผ๋Š” ํ‘œ์ค€ํ™”๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ดˆํŒ(ECMAScript 1)์ด ์™„์„ฑ๋˜์—ˆ๋‹ค.
    ์ƒํ‘œ๊ถŒ ๋ฌธ์ œ๋กœ ์ธํ•ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ECMAScript๋กœ ๋ช…๋ช…๋˜์—ˆ๋‹ค.

    ์ดํ›„ 1999๋…„ ECMAScript 3(ES3)์ด ๊ณต๊ฐœ๋˜๊ณ , 10๋…„๋งŒ์ธ 2009๋…„์— ์ถœ์‹œ๋œ ECMAScript(ES5)๋Š” HTML5์™€ ํ•จ๊ป˜ ์ถœํ˜„ํ•œ ํ‘œ์ค€ ์‚ฌ์–‘์ด๋‹ค.

    2015๋…„์— ๊ณต๊ฐœ๋œ ECMAScript 6(ECMAScript 2015, 2016)๋Š” let/const, ํ™”์‚ดํ‘œ ํ•จ์ˆ˜, ํด๋ž˜์Šค, ๋ชจ๋“ˆ ๋“ฑ๊ณผ ๊ฐ™์ด ๋ฒ”์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ์„œ ๊ฐ–์ถฐ์•ผ ํ•  ๊ธฐ๋Šฅ๋“ค์„ ๋Œ€๊ฑฐ ๋„์ž…ํ•˜๋Š” ํฐ ๋ณ€ํ™”์˜€๋‹ค.

    2.3 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์„ฑ์žฅ์˜ ์—ญ์‚ฌ

    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ง‰ ๋“ฑ์žฅํ–ˆ์„ ์‹œ์ ˆ์—๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋กœ์ง์ด ์›น์„œ๋ฒ„์—์„œ ์‹คํ–‰๋˜์—ˆ๊ณ , ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ „๋‹ฌ๋ฐ›์€ HTML๊ณผ CSS๋ฅผ ๋‹จ์ˆœํžˆ ๋ Œ๋”๋งํ•˜๋Š” ์ˆ˜์ค€์ด์—ˆ๋‹ค.

    ๊ทธ๋ ‡๋‹ค๋ฉด ๊ณผ๊ฑฐ์—๋Š” ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR)์ด ์ฃผ์˜€๋˜ ๊ฒƒ์ผ๊นŒ?

    2.3.1 Ajax

    1999๋…„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ์„œ๋ฒ„์™€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋น„๋™๊ธฐ(asynchronous)๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต์‹  ๊ธฐ๋Šฅ์ธ Ajax(Asynchronous JavaScript and XML)๊ฐ€ XMLHttpRequest๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋“ฑ์žฅํ–ˆ๋‹ค.

    [!NOTE]

    ๐Ÿ’ก ๋น„๋™๊ธฐ(asynchronous) ๋ฐฉ์‹์˜ ํ†ต์‹ ์ด๋ž€?
    ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด๋Š” ์š”์ฒญ์„ ๋ณด๋‚ธ ํ›„ ๊ฒฐ๊ณผ๊ฐ€ ๋„์ฐฉํ•  ๋•Œ๊นŒ์ง€ ์ฝ”๋“œ ์‹คํ–‰์ด ๋ฉˆ์ถ”์ง€ ์•Š๊ณ , ๋‹ค๋ฅธ ์ž‘์—…์„ ๊ณ„์† ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ async๋Š” ์š”์ฒญ๊ณผ ์‘๋‹ต์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ์‘๋‹ต์ด ์ค€๋น„๋˜๋ฉด ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋‚˜ Promise๋ฅผ ํ†ตํ•ด ๊ฒฐ๊ณผ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.

    ์ด์ „์˜ ์›นํŽ˜์ด์ง€๋Š” html ํƒœ๊ทธ๋กœ ์‹œ์ž‘ํ•ด์„œ htmlํƒœ๊ทธ๋กœ ๋๋‚˜๋Š” ์™„์ „ํ•œ ์ฝ”๋“œ๋ฅผ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ „์†ก๋ฐ›์•„์„œ ๋ณ€๊ฒฝ์‚ฌํ•˜์ด ์žˆ๋‹ค๋ฉด ์›น ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ๋ Œ๋”๋ง ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ–ˆ์—ˆ๋‹ค. ์ด๋Š” ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ํ†ต์‹ ๋„ ๋ฐœ์ƒํ•˜๊ณ  ๋ฐ”๋€ ๋ถ€๋ถ„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ ๋ฉด์—์„œ๋„ ๋ถˆ๋ฆฌํ–ˆ๋‹ค.

    ํ•˜์ง€๋งŒ Ajax์˜ ๋“ฑ์žฅ์œผ๋กœ ๋ถ€๋ถ„์ ์ธ ๋ Œ๋”๋ง์ด ๊ฐ€๋Šฅํ•ด์ง€๋ฉด์„œ, ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ๋„ ๋ฐ์Šคํฌํ†ฑ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ฐ™์ด ๋น ๋ฅด๊ณ  ๋ถ€๋“œ๋Ÿฌ์šด ์„ฑ๋Šฅ์„ ๋ณด์ด๊ฒŒ ๋˜์—ˆ๋‹ค.

    2005๋…„ ๊ตฌ๊ธ€์ด ๋ฐœํ‘œํ•œ Google Maps๊ฐ€ ๊ทธ ์˜ˆ์‹œ๋‹ค.

    2.3.2 JQuery

    2006๋…„, JQuery์˜ ๋“ฑ์žฅ์œผ๋กœ ๋ฒˆ๊ฑฐ๋กœ์› ๋˜ DOM(Document Object Model) ์„ ๋”์šฑ ์‰ฝ๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ , ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ด์Šˆ๋„ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค.

    2.3.3 V8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„

    2008๋…„ ๊ตฌ๊ธ€์€ V8์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์„ ๋ฐœํ‘œํ•˜์˜€๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋ ค๋Š” ์ฆ๊ฐ€ํ•œ ์ˆ˜์š”๋ฅผ ๋งŒ์กฑ์‹œํ‚ฌ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
    V8์˜ ๋“ฑ์žฅ์œผ๋กœ ์›น ์„œ๋ฒ„์—์„œ ์ˆ˜ํ–‰๋˜๋˜ ๋กœ์ง๋“ค์ด ๋Œ€๊ฑฐ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๋กœ ์ด๋™ํ–ˆ๊ณ  ์›น ํ”„๋ก ํŠธ์—”๋“œ ์˜์—ญ์ด ์ฃผ๋ชฉ๋ฐ›๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ๋‹ค.

    SSR๊ณผ CSR์— ๋Œ€ํ•ด์„œ ๋” ์ž์„ธํžˆ ์ •๋ฆฌํ•ด๋ณด์ž.

    2.3.4 Node.js

    2009๋…„, ๋ผ์ด์–ธ ๋‹ฌ(Ryan Dahl)์ด ๋ฐœํ‘œํ•œ Node.js๋Š” ๊ตฌ๊ธ€์˜ V8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์œผ๋กœ ๋งŒ๋“ค์–ด์ง„, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ (Runtime environment) ์ด๋‹ค.

    Node.js๋Š” ๋ธŒ๋ผ์šฐ์ € ์ด์™ธ์˜ ํ™˜๊ฒฝ์—์„œ๋„ JS๊ฐ€ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋…๋ฆฝ์‹œํ‚จ ์‹คํ–‰ ํ™˜๊ฒฝ์ด๋‹ค.

    ๋น„๋™๊ธฐI/O๋ฅผ ์ง€์›ํ•˜๊ณ , ๋‹จ์ผ์Šค๋ ˆ๋“œ(Single Thread) ์ด๋ฒคํŠธ ๋ฃจํ”„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜์—ฌ ์š”์ฒญ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์ด ์ข‹๋‹ค.
    ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด I/O๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” SPA(Single Page Application) ์— ์ ํ•ฉํ•˜์ง€๋งŒ, CPU ์‚ฌ์šฉ๋ฅ ์ด ๋†’์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๊ถŒ์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

    ๋น„๋™๊ธฐI/O, ๋‹จ์ผ์Šค๋ ˆ๋“œ ์ด๋ฒคํŠธ ๋ฃจํ”„, SPA์— ๋Œ€ํ•˜์—ฌ ๋‚˜์ค‘์— ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž

    ์ด Node.js์˜ ๋“ฑ์žฅ์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋ฒ—์–ด๋‚˜ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์šฉ ์–ธ์–ด๊ฐ€ ๋˜์—ˆ๋‹ค.

    2.3.5 SPA ํ”„๋ ˆ์ž„์›Œํฌ

    ๊ฐœ๋ฐœ ๊ทœ๋ชจ์™€ ๋ณต์žก๋„๊ฐ€ ์ƒ์Šนํ•˜๋ฉด์„œ, ์ด์ „์˜ ๊ฐœ๋ฐœ ๋ฐฉ์‹๋“ค๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ–ˆ๊ณ  ์ด์— ๋‹ค์–‘ํ•œ ๋ผ๋ฆฌ๋ธŒ๋Ÿฌ๋ฆฌ๋“ค๊ณผ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์ด ๋“ฑ์žฅํ–ˆ๋‹ค.
    CBD(Component Based Development) ๋ฐฉ๋ฒ•๋ก ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” SPA๊ฐ€ ๋Œ€์ค‘ํ™” ๋˜๋ฉด์„œ ๋‹ค์–‘ํ•œ SPA ํ”„๋ ˆ์ž„์›Œํฌ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

    CBD ๋ฐฉ๋ฒ•๋ก ์— ๋Œ€ํ•˜์—ฌ ๋‚˜์ค‘์— ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž

    2.4 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ECMAScript

    ECMAScript๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ‘œ์ค€ ์‚ฌ์–‘์ธ ECMA-262๋ฅผ ๋งํ•œ๋‹ค.

    ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ํ‘œ๋ฐฉํ•˜๋Š” ๊ฐ’, ํƒ€์ž…, ๊ฐ์ฒด์™€ ํ”„๋กœํผํ‹ฐ, ํ•จ์ˆ˜, ํ‘œ์ค€ ๋นŒํŠธ์ธ ๊ฐ์ฒด ๋“ฑ์„ ํ•ต์‹ฌ ๋ฌธ๋ฒ•์œผ๋กœ ๊ทœ์ •ํ•œ๋‹ค.

    ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ผ์ปซ๋Š” JavaScript๋ผ๋Š” ๊ฒƒ์€ ์ด ECMAScript์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์˜ Web API๊ฐ€ ํ•ฉ์ณ์ง„, ์ด ๋‘˜์„ ์•„์šฐ๋ฅด๋Š” ๊ฐœ๋…์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

    • DOM, BOM, Canvas, XMLHttpRequest, fetch, requestAnimationFrame, SVG, Web Storage, Web Component, Web Worker
      ๋“ฑ์ด Web API์˜ ์ผ๋ถ€์ด๋‹ค.

    ์ด ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์˜ Web API๋Š” ECMAScript์™€๋Š” ๋ณ„๊ฐœ๋กœ ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ๋‹ค.

    2.5 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํŠน์ง•

    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ์œ ์ผํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.

    ๊ธฐ๋ณธ ๋ฌธ๋ฒ•์€ C, ์ž๋ฐ”์™€ ์œ ์‚ฌํ•˜๊ณ , Self๋Š” ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์ƒ์†์„, Scheme์—์„œ๋Š” ์ผ๊ธ‰ ํ•จ์ˆ˜์˜ ๊ฐœ๋…์„ ์ฐจ์šฉํ–ˆ๋‹ค.

    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณ„๋„์˜ ์ปดํŒŒ์ผ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์ด๋‹ค.
    ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ์ „ํ†ต์ ์ธ ์ปดํŒŒ์ผ๋Ÿฌ ์–ธ์–ด์ฒ˜๋Ÿผ ๋ช…์‹œ์ ์ธ ์ปดํŒŒ์ผ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜์ง€๋Š” ์•Š์ง€๋งŒ ๋ณต์žกํ•œ ๊ณผ์ •์„ ๊ฑฐ์ณ ์ผ๋ถ€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋น„๊ต์  ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋Š๋ฆฐ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์˜ ๋‹จ์ ์„ ํ•ด๊ฒฐํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

    ํ•œ ์ค„๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์„ค๋ช…ํ•˜์ž๋ฉด, ๋ช…๋ นํ˜•, ํ•จ์ˆ˜ํ˜•, ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•˜๋Š” ๋ฉ€ํ‹ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.

    ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์—์„œ ์ค‘์š”ํ•œ ํด๋ž˜์Šค, ์ƒ์†, ์ •๋ณด ์€๋‹‰์„ ์œ„ํ•œ ํ‚ค์›Œ๋“œ๊ฐ€ ์—†์–ด์„œ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ์˜คํ•ด๋ฐ›์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์˜ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๋ณด๋‹ค ํšจ์œจ์ ์ด๊ณ  ๊ฐ•๋ ฅํ•œ ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜์˜ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์ด๋‹ค.

    ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด, ์ปดํŒŒ์ผ ์–ธ์–ด์™€ ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋“ฑ์— ๋Œ€ํ•ด์„œ๋Š” ๋‚˜์ค‘์— ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž

    2.6 ES6 ์ง€์›ํ˜„ํ™ฉ

    IE๋ฅผ ์ œ์™ธํ•œ ๋Œ€๋ถ€๋ถ„์˜ ๋ชจ๋˜ ๋ธŒ๋ผ์šฐ์ €๋Š” ES6๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ 100%๋Š” ์•„๋‹ˆ๋‹ค.
    Node๋Š” v4๋ถ€ํ„ฐ ์ง€์›ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.

    ES5๋กœ์˜ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด Babel๊ณผ ๊ฐ™์€ ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

    ๋” ์•Œ์•„๋ณผ๋งŒํ•œ ๊ฒƒ

    • ๋น„๋™๊ธฐ ํ†ต์‹ ๊ณผ ๋™๊ธฐ ํ†ต์‹ 
      https://yozm.wishket.com/magazine/detail/1982/
    • SSR๊ณผ CSR
    • ๋น„๋™๊ธฐ I/O
    • ๋‹จ์ผ์Šค๋ ˆ๋“œ ์ด๋ฒคํŠธ ๋ฃจํ”„
    • SPA
    • CBD
    • ์ปดํŒŒ์ผ / ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด
    • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ถ„๋ฅ˜(ํ•จ์ˆ˜ํ˜•, ๋ช…๋ นํ˜• ๋“ฑ)
    • ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
Designed by Tistory.