2023๋…„ 6์›” 30์ผยท1๋ถ„ ์ฝ๊ธฐ

JavaScript์˜ ๊ณต์‹ ํ‘œ์ค€ ECMAScript 2023, ECMA International์˜ ์Šน์ธ์„ ๋ฐ›์Œ

JavaScript ์–ธ์–ด์˜ ์—…๋ฐ์ดํŠธ๋œ ๊ธธ๋“œ๋ผ์ธ์ธ ECMAScript 2023์ด ECMA International์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ธ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

JavaScript์˜ ๊ณต์‹ ํ‘œ์ค€ ECMAScript 2023, ECMA International์˜ ์Šน์ธ์„ ๋ฐ›์Œ

ECMA International์€ JavaScript ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ฒ”์šฉ ํ‘œ์ค€์— ๋Œ€ํ•œ ์ฃผ์š” ์—…๊ทธ๋ ˆ์ด๋“œ์ธ ECMAScript 2023์„ ๊ณต์‹์ ์œผ๋กœ ์Šน์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜์‹ ์ ์ธ ๋ฐฐ์—ด ์ˆ˜์ • ๋ฐ ๊ฒ€์ƒ‰ ๋ฐฉ๋ฒ•, ๊ธฐํ˜ธ ์‚ฌ์šฉ์œผ๋กœ ํ–ฅ์ƒ๋œ WeakMap API, ํ•ด์‹œ๋ฑ… ๋ฌธ๋ฒ•์— ๋Œ€ํ•œ ํ‘œ์ค€ํ™”๋œ ์ง€์›์˜ ๋„์ž…์œผ๋กœ ๊ฐ•์กฐ๋œ ์ด ์‚ฌ์–‘์€ JavaScript์˜ ๋ฏธ๋ž˜๋ฅผ ๊ฒธ์†ํ•˜๋ฉด์„œ๋„ ํฌ๊ฒŒ ํ˜•์„ฑํ•˜๋„๋ก ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ECMAScript์˜ 14๋ฒˆ์งธ ์—๋””์…˜์ธ ECMAScript 2023์€ 6์›” 27์ผ์— ์Šน์ธ๋˜์–ด ์ฃผ์š” ๊ฐœ์„  ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ๊ฐœ์š”๋ฅผ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์€ toSorted, toReversed, findLast, findLastIndex, with ๋ฐ toSpliced โ€‹โ€‹on the Array.prototype์„ ํฌํ•จํ•˜์—ฌ ์ˆ˜๋งŽ์€ ๋ฐฐ์—ด ๋ฐ ํ˜•์‹ํ™”๋œ ๋ฐฐ์—ด ํ”„๋กœํ† ํƒ€์ž…์œผ๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์‹คํ–‰์€ #! ๋ฌธ์„œ์˜ ์ „๊ตฌ์ฒด์— ์ฃผ์„. ๋˜ํ•œ ์•ฝํ•œ ์ปฌ๋ ‰์…˜์˜ ํ‚ค๋กœ ๋” ๋„“์€ ๊ธฐํ˜ธ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์„ ์—ฝ๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ๋œ ์ง€์นจ์€ ECMA์˜ ๊ธฐ์ˆ  ์œ„์›ํšŒ 39์ธ TC39๊ฐ€ GitHub ํ”„๋กœํ•„์—์„œ ์ž์„ธํžˆ ์„ค๋ช…ํ•œ ๋Œ€๋กœ 4๊ฐœ์˜ ์ดˆ์ ์œผ๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๋Š” ์˜ฌํ•ด ๊ณต์‹ ์ถœ์‹œ๋˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋งˆ์ง€๋ง‰์—์„œ ๋ฐฐ์—ด ์ฐพ๊ธฐ๋ผ๊ณ  ํ•˜๋Š” ๋ฐฐ์—ด ๋ฐ ์œ ํ˜• ๋ฐฐ์—ด์— ๋Œ€ํ•œ .findLast() ๋ฐ .findLastIndex() ๋ฉ”์„œ๋“œ๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฐฐ์—ด ๋‚ด์—์„œ ์š”์†Œ๋ฅผ ์ฐพ๋Š” ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์—ญ์ˆœ์œผ๋กœ ์š”์†Œ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ์ตœ์ ์˜ ์„ฑ๋Šฅ ๊ฒฐ๊ณผ๋ฅผ ์‚ฐ์ถœํ•˜๊ฑฐ๋‚˜ ๋ฐฐ์—ด ์š”์†Œ์˜ ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•œ ๊ฒฝ์šฐ์— ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์œ ํ•œ ๊ธฐํ˜ธ๊ฐ€ ํ‚ค๋กœ ๊ธฐ๋Šฅํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉ๋œ ๊ธฐํ˜ธ๋ฅผ WeakMap ํ‚ค์˜ ํ‚ค๋กœ ์‚ฌ์šฉํ•˜์—ฌ WeakMap API๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ WeakMaps์˜ ํ‚ค ์‚ฌ์šฉ์€ ๊ฐœ์ฒด์—๋งŒ ์—„๊ฒฉํ•˜๊ฒŒ ์ œํ•œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Array.prototype ๋ฐ TypedArray.prototype์— ์ƒˆ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€๋ฅผ ์ด‰์ง„ํ•˜๋Š” ๋ณต์‚ฌ๋ณธ์œผ๋กœ ๋ฐฐ์—ด์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์›ํ•˜๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋œ ์ƒˆ ๋ณต์‚ฌ๋ณธ์„ ์ƒ์„ฑํ•˜์—ฌ ์–ด๋ ˆ์ด์˜ ๋ณ€ํ™˜์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  • Hashbang ๋ฌธ๋ฒ•์€ Shebangs/Hashbang์„ ํ—ˆ์šฉํ•˜๋Š” ํŠน์ • CLI(Command Line Interface) JavaScript ํ˜ธ์ŠคํŠธ์—์„œ ๊ธฐ์กด์˜ ์‚ฌ์‹ค์ƒ์˜ ์‚ฌ์šฉ์„ ์ค€์ˆ˜ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ˜ธ์ŠคํŠธ์—์„œ ์—”์ง„์œผ๋กœ ์ŠคํŠธ๋ฆฌํ•‘์„ ์ด๋™ํ•˜์—ฌ ์ผ๊ด€๋˜๊ณ  ๊ท ์ผํ•œ ์‚ฌ๋ก€๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ ์œ ํšจํ•œ JavaScript ์†Œ์Šค ํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฃผ๋ฅ˜ํ™”ํ•ฉ๋‹ˆ๋‹ค.

ํ‘œ์ค€ ๊ด€ํ–‰์— ๋”ฐ๋ผ ECMAScript์˜ ์—…๋ฐ์ดํŠธ๋œ ๋ฒ„์ „์€ ์ „ํ†ต์ ์œผ๋กœ ๋งค๋…„ 6์›”์— ECMA์— ์˜ํ•ด ์Šน์ธ๋˜๊ณ  ํ™•์ •๋ฉ๋‹ˆ๋‹ค. ์ž‘๋…„ ECMAScript 2022์—์„œ ์ตœ์ƒ์œ„ await ๊ธฐ๋Šฅ๊ณผ ํด๋ž˜์Šค ์š”์†Œ๊ฐ€ ๋„์ž…๋œ ๊ฒƒ์€ ์ฃผ๋ชฉํ•  ๋งŒํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ์–ธ์–ด๋ฅผ ๊ฐ€๋ฅด์น˜๊ณ  ์ฝ”๋“œ๋ฅผ ์—ฐ์Šตํ•˜๋Š” ์ธ๊ธฐ ์žˆ๋Š” ํ”Œ๋žซํผ ์ค‘ ํ•˜๋‚˜๋Š” AppMaster ์ž…๋‹ˆ๋‹ค. ๋‹ค์žฌ๋‹ค๋Šฅํ•œ no-code ๋„๊ตฌ๋กœ ๊ฐ•๋ ฅํ•œ ์‹œ๊ฐ์  BP ๋””์ž์ด๋„ˆ ๋˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋…ผ๋ฆฌ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐ ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. ์‹œ๋ฏผ ๊ฐœ๋ฐœ์ž์˜ ๊ฒฝ์šฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ด 10๋ฐฐ ๋” ๋น ๋ฅด๊ณ  3๋ฐฐ ๋” ์ €๋ ดํ•ด์ง‘๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ AppMaster ์—์„œ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started
JavaScript์˜ ๊ณต์‹ ํ‘œ์ค€ ECMAScript 2023, ECMA International์˜ ์Šน์ธ์„ ๋ฐ›์Œ | AppMaster