๐ŸŒฑ JavaScript์˜ ํƒ„์ƒ & ECMAScript

์ง€๋‘ํŒ”ยท2024๋…„ 5์›” 28์ผ

๐Ÿ’›JavaScript

๋ชฉ๋ก ๋ณด๊ธฐ
1/1
post-thumbnail

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

๋ชจ์ž์ดํฌ (Mosaic)

  • 93๋…„, UI์š”์†Œ๊ฐ€ ๋”ํ•ด์ง„ ์ตœ์ดˆ์˜ ๊ทธ๋ž˜ํ”ฝ ์›น ๋ธŒ๋ผ์šฐ์ € ๋ชจ์ž์ดํฌ(Mosaic) ํƒ„์ƒ

๋„ท์Šค์ผ€์ดํ”„ ๋„ค๋น„๊ฒŒ์ดํ„ฐ (Netscape Navigator)

  • 94๋…„, ๋ชจ์ž์ดํฌ ๊ฐœ๋ฐœํŒ€์„ ์ด๋Œ๋˜ ๋งˆํฌ ์•ค๋”์Šจ์ด ๋™๋ฃŒ๋“ค์„ ๋ฐ๋ฆฌ๊ณ  ๋‚˜์™€์„œ ๋„ท์Šค์ผ€์ดํ”„(Netscape) ํšŒ์‚ฌ๋ฅผ ์ฐจ๋ฆผ. ๋‹น์‹œ 80%์˜ ์ ์œ ์œจ์„ ๋‹ฌํ•  ๋งŒํผ ํญ๋ฐœ์ ์ธ ์ธ๊ธฐ๋ฅผ ์–ป์Œ.
  • ์ด ๋‹น์‹œ์—๋Š” HTML๊ณผ CSS๋งŒ์„ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ์ •์  ์›นํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ฌ (ONLY ํŽ˜์ด์ง€ > ํŽ˜์ด์ง€ ์ด๋™)

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

  • ๋„ท์Šค์ผ€์ดํ”„: DOM ์š”์†Œ๋ฅผ ์กฐ์ž‘ํ•˜๋ฉฐ ๋‹ค์ด๋‚˜๋ฏนํ•œ ๋™์  ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด
    ใ„ด> ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ๊ฒ ๋Š”๊ฑธ?
  • ๋ธŒ๋žœ๋“  ์•„์ดํฌ ์˜์ž…
    • 10์ผ๋งŒ์— ํ”„๋กœํ† ํƒ€์ž…์„ ๋ฒ ์ด์Šค๋กœํ•œ ๋ชจ์นด(Mocha) ํƒ„์ƒ
    • ์ถ”ํ›„ ๋ผ์ด๋ธŒ์Šคํฌ๋ฆฝํŠธ(LiveScript)๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ
    • ๋‹น์‹œ ์ธ๊ธฐ์žˆ๋˜ ์ž๋ฐ”์˜ ์ธ๊ธฐ์— ํŽธ์Šน ๐Ÿ’จ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JavaScript) ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝํ•จ
  • 95๋…„, ๋„ท์Šค์ผ€์ดํ”„ ๋ธŒ๋ผ์šฐ์ €์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ + ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„ ํฌํ•จํ•˜์—ฌ ์ถœ์‹œ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œ์ค€ - ECMAScript

  • ์ž์Šค์˜ ์ธ๊ธฐ๊ฐ€ ๋‚ ๋กœ ๋Š˜์–ด๋‚˜์ž MS์—์„œ JScript๋ผ๋Š” ์–ธ์–ด๋ฅผ ๋งŒ๋“ค๊ณ  ์ธํ„ฐ๋„ท์ต์Šคํ”Œ๋กœ๋Ÿฌ(IE) ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ถœ์‹œํ•จ.
  • ์‚ฌ์ดํŠธ๋งˆ๋‹ค ๋„ท์Šค์ผ€์ดํ”„ / IE ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋กœ ๋จธ๋ฆฌ ์•„ํŒŒ์ง.
    • ๋„ท์Šค์ผ€์ดํ”„์—์„œ ECMA International ์ฐพ์•„๊ฐ€์„œ ํ‘œ์ค€์•ˆ ์ข€ ๋งŒ๋“ค์–ด๋‹ฌ๋ผ๊ณ  ์ œ์•ˆ
      • ECMA International: ์ •๋ณด ํ†ต์‹ ์— ๋Œ€ํ•œ ํ‘œ์ค€์„ ์ œ์ •ํ•˜๋Š” ๋น„์˜๋ฆฌ ํ‘œ์ค€ํ™” ๊ธฐ๊ตฌ
  • ECMAScript (๊ธฐ์ˆ  ๊ทœ๊ฒฉ(๋ช…์„ธ) ECMA-262 ์— ์˜ํ•ด ์ •์˜๋จ ) == ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œ์ค€์•ˆ
๋ฒ„์ „์ถœ์‹œ๋…„๋„
ES11997
ES21998
ES31999
ES4โŒโŒ
ES5 (์š”๋•Œ๋ถ€ํ„ฐ ๋ชจ๋˜์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ผ๊ณ  ํ•จ)2009
ES6ES2015
ES7ES2016
......
ES.Next (What's Next?)
  • ECMAScript๋Š” ๋งค๋…„ 6์›” ์ƒˆ ๋ฒ„์ „์„ release, 24๋…„ 5์›” ํ˜„์žฌ ๊ธฐ์ค€ ์ตœ์‹ ๋ฒ„์ „์€ ECMAScript 2023
  • ES4 ๋ฒ„์ „์€ ๋“œ๋กญ๋จ? ์™œ??
    • ๊ฐ‘์ž๊ธฐ ์ƒˆ๋กญ๊ณ  ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์ด ๋„ˆ๋ฌด ๋งŽ์ด ์ถ”๊ฐ€๋˜์–ด ๋ณ€ํ™”๊ฐ€ ๋„˜ ํฌ๊ณ  ๋ณต์ž ํ•จ. ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ ๋“ฑ์œผ๋กœ ใ…‚2ใ…‚2 ๐Ÿ™‹โ€โ™€๏ธ
    • && MS์—์„œ IE๊ฐ€ ์ ์œ ์œจ ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์„ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋Š” ์ƒํ™ฉ์—์„œ ํ‘œ์ค€์•ˆ์— ๋Œ€ํ•œ ๋ถˆ๋งŒ ํ† ๋กœํ•˜๋ฉฐ ECMAScript์— ํ‘œ์ค€์•ˆ์— ์ฐธ๊ฐ€ํ•˜์ง€ ์•Š๊ฒ ๋‹ค๊ณ  ํ•จ > ํ‘œ์ค€ํ™” ์ง„ํ–‰์ด ๋”๋ŽŒ์ง€๊ฒŒ ๋จ.
    • ๊ทธ ๊ฒฐ๊ณผ ์˜ค๋žœ ์‹œ๊ฐ„ ํ›„ ES5๊ฐ€ ๋ ˆ๊ฑฐ์‹œ ๋ฒ„์ „+๋ชจ๋˜ ๋ฒ„์ „ ํฌํ•จํ•˜์—ฌ ์ถœ์‹œ๋จ

TC39

  • ์ž์Šค๋ฅผ ๋ฐœ์ „์‹œํ‚ค๋Š” ์œ„์›ํšŒ.
  • ๊ฒฝ์Ÿ ์—…์ฒด(๊ตฌ๊ธ€, ์• ํ”Œ, ๋ชจ์งˆ๋ผ, ํŽ˜๋ถ, ํŠธ์œ„ํ„ฐ, MS, ์˜คํŽ˜๋ผ ๋“ฑ๋“ฑ)๊ฐ€ ์–ธ์–ด์˜ ๋ฐœ์ „์„ ์œ„ํ•ด ํ˜‘๋ ฅํ•จ
  • TC39 ํ”„๋กœ์„ธ์Šค๋Š” 0~5๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด์ ธ ๊ฐ ๋‹จ๊ณ„๋กœ์˜ ์Šน๊ธ‰์„ ์œ„ํ•œ ์กฐ๊ฑด๋“ค์ด ์กด์žฌํ•˜๊ณ , 4๋‹จ๊ณ„ ๊นŒ์ง€ ์ตœ์ข… ์Šน์ธ์ด ๋˜๋ฉด ์ดํ›„ ๊ฒ€ํ† ๊ธฐ๊ฐ„์„ ๊ฐ€์ง„ ํ›„ ECMA์ดํšŒ์—์„œ ์ƒˆ๋กœ์šด ํ‘œ์ค€์„ ์Šน์ธ > ECMAScript์˜ ์ƒˆ๋กœ์šด ๋ฒ„์ „์ด ์ถ”๊ฐ€๋œ๋‹ค.

    TC39 ํšŒ์˜๋ก GitHub - https://github.com/tc39/notes/tree/main/meetings


๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ


์œ ํŠœ๋ธŒ - ๋“œ๋ฆผ์ฝ”๋”ฉ : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์šฐ๊ธฐ์ „ ๊ผญ ๋ด์•ผํ•  ์˜์ƒ | ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์—ญ์‚ฌ์™€ ํ˜„์žฌ ๊ทธ๋ฆฌ๊ณ  ๋ฏธ๋ž˜ (JavaScript, ECMAScript, JQuery, Babel, Node.js)

profile
ํ›„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ๊ฟˆ๊ฟ”์š” ๐Ÿ’ญ

0๊ฐœ์˜ ๋Œ“๊ธ€