<p>TypeScript 4.0 ๋ฐ˜๋ณต ๊ณ„ํš</p>

์— ๋งŒ๋“  2020๋…„ 05์›” 12์ผ  ยท  64์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: microsoft/TypeScript

์ด ๋ฌธ์„œ๋Š” TypeScript 4.0์— ์ค‘์ ์„ ๋‘” ์ž‘์—…๊ณผ ํŠน์ • ์ž‘์—… ํ•ญ๋ชฉ์˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•/์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ผ๋ถ€ ๋…ผ์˜์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ •ํ•ด์ง„ ๊ฒƒ์€ ์—†์ง€๋งŒ ํ•ฉ๋ฆฌ์ ์ธ ์‹œ๊ฐ„ ๋‚ด์— ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚ ์งœ | ์ด๋ฒคํŠธ
--------------|-------------------------
5์›” 12์ผ | TypeScript 3.9 ๋ฆด๋ฆฌ์Šค(๊ณผ๊ฑฐ)
6์›” 22์ผ | ํ…Œ์ŠคํŠธ์šฉ 4.0 ๋ฒ ํƒ€(4.0.0) ๋นŒ๋“œ ๋งŒ๋“ค๊ธฐ
6์›” 25์ผ | TypeScript 4.0 ๋ฒ ํƒ€ ๋ฆด๋ฆฌ์Šค
7์›” 31์ผ | ํ…Œ์ŠคํŠธ์šฉ 4.0 RC(4.0.1) ๋นŒ๋“œ ๋งŒ๋“ค๊ธฐ
8์›” 6์ผ | TypeScript 4.0 RC ๋ฆด๋ฆฌ์Šค
8์›” 14์ผ | ํ…Œ์ŠคํŠธ์šฉ 4.0 ์ตœ์ข…(4.0.2) ๋นŒ๋“œ ๋งŒ๋“ค๊ธฐ
8์›” 20์ผ | TypeScript 4.0 ์ตœ์ข… ๋ฆด๋ฆฌ์Šค ๐Ÿš€

์–ธ์–ด ๊ธฐ๋Šฅ

ํŽธ์ง‘์ž ์ƒ์‚ฐ์„ฑ

์„ฑ๋Šฅ

  • ๋” ๋งŽ์€ ์œ ํ˜• ๊ฒ€์‚ฌ ์ตœ์ ํ™”
  • ๋” ํฐ ์•ฑ์˜ ๋ณ‘๋ชฉ ํ˜„์ƒ ์กฐ์‚ฌ

ํ•˜๋ถ€ ๊ตฌ์กฐ

์ˆ˜์š”๊ฐ€ ๋งŽ์€ ๋ฒ„๊ทธ ์ˆ˜์ • ์กฐ์‚ฌ

Planning

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

Typescript๋Š” ์ด๋ฏธ ์ถฉ๋ถ„ํžˆ ํ‘œํ˜„๋ ฅ์ด ํ’๋ถ€ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ๋ณด๊ณ  ์‹ถ์€ ๊ฒƒ์€ ๋” ๋‚˜์€ ๋„๊ตฌ ํ†ตํ•ฉ์ž…๋‹ˆ๋‹ค.

์œ„์˜ ์ด์œ ๋กœ ํˆฌ๋ฐ•ํ•˜๊ณ  ํ•ดํ‚คํ•œ ์†”๋ฃจ์…˜์„ ๋ณด๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ˜์‘ ํ”„๋กœ์ ํŠธ์—๋Š” react-hot-loader(์ปดํŒŒ์ผ๋Ÿฌ ํ”Œ๋Ÿฌ๊ทธ์ธ)์šฉ์œผ๋กœ babel์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ผ๋ถ€ CSS ์‹œ์Šคํ…œ์—์„œ๋Š” ์ปดํŒŒ์ผ ์‹œ๊ฐ„ ๋ณ€ํ™˜์„ ์œ„ํ•ด babel์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. pnp, esm ๋˜๋Š” CSS ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด tsc ์ œํ•œ์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ๋„๊ตฌ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ ์ค‘ ์ผ๋ถ€์— ๋Œ€ํ•ด ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ PR ๋˜๋Š” ์ œ์•ˆ์˜ ํ˜•ํƒœ๋กœ ๊ตฌ์ฒด์ ์ธ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ–ˆ์ง€๋งŒ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ์ˆ˜๋…„ ๋™์•ˆ ๊ฑฐ๋ถ€๋˜๊ฑฐ๋‚˜ ์ค‘๋‹จ๋˜์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค๋„ ์‹ค๋ง์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ์‹ค๋ฌด์ž๋กœ์„œ ๋” ๋„“์€ ์ƒํƒœ๊ณ„์˜ ๋งฅ๋ฝ์—์„œ TS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ์  ๋” ์–ด๋ ค์›Œ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์–ด์จŒ๋“  ๋‚˜๋Š” ์ธํ„ฐ๋„ท์—์„œ ๋ฌด์ž‘์œ„๋กœ ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  64 ๋Œ“๊ธ€

์‹คํ—˜ ํ”Œ๋ž˜๊ทธ ๋’ค์— https://github.com/microsoft/TypeScript/pull/29818 ์„ 4.0์— ํฌํ•จํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

ํŒฉํ† ๋ฆฌ ํ•จ์ˆ˜ ์ •์˜ ์ž์ฒด์˜ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ _separate_ ํŒฉํ† ๋ฆฌ ๊ฐ€์ƒ ์œ ํ˜• ์ •์˜๋ฅผ ๋„์ž…ํ•˜๋Š” ๊ฒƒ์€ ํฅ๋ฏธ๋กœ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. JSX.Factory ๋˜๋Š” React.JSX.Factory ๋ผ๊ณ  ๋งํ•˜๋ฉด TypeScript๊ฐ€ ์ถ”๋ก ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. JSX ๋ฌธ๋ฒ•์„ ํ•จ์ˆ˜ ํ˜ธ์ถœ๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๊ฒƒ์ด ์ถฉ๋ถ„ํ•˜๊ฑฐ๋‚˜ ํšจ์œจ์ ์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ๊ฐ€์ƒ ์œ ํ˜•์ด๋ฏ€๋กœ ๊ตฌ์ฒด์ ์ธ JavaScript ์—”ํ‹ฐํ‹ฐ์— ํ•ด๋‹นํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์œ„ํ—˜์€ ํ˜„์žฌ ์šฐ๋ฆฌ์™€ ๊ฐ™์€ ์ƒํ™ฉ์— ์ฒ˜ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ๊ฐ€์ƒ ์œ ํ˜•์ด ๊ฒฐ๊ตญ ์–ด๋ฆฐ์ด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ React 15 ์ดํ›„์— ๋„์ž…๋œ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์˜ ์œ ํ˜• ์•ˆ์ „์„ฑ์„ ์ œํ•œํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

https://github.com/microsoft/TypeScript/pull/24738 ๋„ 4.0์— ํฌํ•จํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

#33038 [๐Ÿ‘ 140 and a real PR by your own @weswigham] ๋˜๋Š” #202 [๐Ÿ‘ 390]์— ๋Œ€ํ•œ ์–ธ๊ธ‰์ด ์—†๋Š” ๋ฐ˜๋ฉด #15230 [๐Ÿ‘ 27]๊ณผ ๊ฐ™์€ ํ‹ฐ์ผ“์€ "๋†’์€ ์ˆ˜์š”"๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. "์ข‹์•„์š”"๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋น„๊ตํ•˜๊ฑฐ๋‚˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ ํŠนํžˆ 4.0์ด ์ด์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๋„์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ธฐํšŒ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์ด์— ๋Œ€ํ•œ ๋กœ๋“œ๋งต ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์—ˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๐Ÿ™

~3.5๋…„ ๋œ โ€‹โ€‹๋ฌธ์ œ๋กœ ๊ฑฐ์˜ 200๊ฐœ์˜ ๋Œ“๊ธ€๊ณผ ํ•จ๊ป˜ ํ”ผ๋“œ๋ฐฑ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Pwetty pwease ์ˆ˜์ •์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ ๐Ÿ™
image

๋กœ๋“œ๋งต๊ณผ ๋ฐ˜๋ณต ๊ณ„ํš์— ๋Œ€ํ•ด ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๊ฐ€๋” ์ œ๊ธฐํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๊ฐ์‚ฌํ•˜์ง€๋งŒ, ์—ฌ๊ธฐ์„œ ๋ถ„๋ช…ํžˆ ํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. "๋†’์€ ์ˆ˜์š”๊ฐ€ ๋งŽ์€ ๋ฒ„๊ทธ ์ˆ˜์ • ์กฐ์‚ฌ" ์„น์…˜์€ ๊ทธ๋Ÿฌ๋‚˜ ๋ฒ”์œ„์—์„œ ํ•ฉ๋ฆฌ์ ์œผ๋กœ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ์–ธ๊ธ‰๋œ ๋ฌธ์ œ๋ฅผ ์—ผ๋‘์— ๋‘๊ณ  ์žˆ์ง€๋งŒ ๊ทธ ์ค‘ ์ผ๋ถ€๋Š” ๋ฒ”์œ„๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ๋ช…ํ™•ํ•œ ์ด์ƒ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ:

  • ๋ช…๋ชฉ์ƒ ๋ธŒ๋žœ๋“œ๊ฐ€ ์ข‹๊ฒ ์ง€๋งŒ ๋ช…๋ชฉ์ƒ์˜ ๋ฏธ๋ž˜ ์–ธ์–ด ๋ฐฉํ–ฅ์œผ๋กœ ๊ตฌ์„ฑ๋ ๊นŒ์š”? ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์ œ์•ˆํ•œ ์‚ฌ๋žŒ์œผ๋กœ์„œ ์ž๋ฆฌ ํ‘œ์‹œ์ž ์œ ํ˜•์— ๋Œ€ํ•ด ์ด๋Ÿฌํ•œ ์šฐ๋ ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ธ๋ฑ์Šค ์„œ๋ช…์˜ undefined ๋Š” ํฅ๋ฏธ๋กœ์šด ๊ฒƒ์˜ ํ•œ ์˜ˆ์ด์ง€๋งŒ ํ˜„์žฌ ๊ฐ€์ •ํ•˜์— ์ด๋ฏธ ์šด์˜ ์ค‘์ธ 90%์˜ ์‚ฌ๋žŒ๋“ค์„ ๋” ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ํ–‰๋™์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Ÿฌํ•œ ๊ฒ€์‚ฌ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์ ์ง„์ ์œผ๋กœ ์ฑ„ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ฐพ๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์กฐ๊ฑด๋ถ€ ์œ ํ˜•๊ณผ ํŠน์ˆ˜ ์ปดํŒŒ์ผ๋Ÿฌ ๊ฒ€์‚ฌ๋กœ ๊ธฐ์ˆ ์ ์œผ๋กœ ๊ฐ€๋Šฅํ•˜๋”๋ผ๋„ ์ด๋Ÿฌํ•œ ์†”๋ฃจ์…˜์€ ๋งค์šฐ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•ดํ‚น๋˜๊ณ  ๋น ๋ฅด๊ฒŒ ๋ถ„ํ•ด๋˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ช…๋ชฉ์ƒ ๋ธŒ๋žœ๋“œ๊ฐ€ ์ข‹๊ฒ ์ง€๋งŒ ๋ช…๋ชฉ์ƒ์˜ ๋ฏธ๋ž˜ ์–ธ์–ด ๋ฐฉํ–ฅ์œผ๋กœ ๊ตฌ์„ฑ๋ ๊นŒ์š”?

@DanielRosenwasser ๋‹น์‹ ์˜ ๋น„์ „์—์„œ ๋ฏธ๋ž˜ ์–ธ์–ด ๋ฐฉํ–ฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ช…๋ชฉ์ƒ ๋‚ด ๋งˆ์Œ์ด ์–ด๋””์— ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ปจํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ํฌํ•จํ•˜์—ฌ ๋ช…๋ชฉ ์œ ํ˜•์— ๋Œ€ํ•ด ์งˆ๋ฌธํ•  ๋•Œ ์‚ฌ๋žŒ๋“ค์ด ์—ผ๋‘์— ๋‘๋Š” ๋‹ค์–‘ํ•œ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • "์ „ํ†ต์ ์ธ" ์„ ์–ธ ๊ธฐ๋ฐ˜ ๋ช…๋ชฉ์„ฑ(์˜ˆ: ๋Œ€๋ถ€๋ถ„์˜ OO ์–ธ์–ด์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ)
  • ๋ถˆํˆฌ๋ช… ์œ ํ˜•(๋‚ด์šฉ์ด ์™ธ๋ถ€์—์„œ ์™„์ „ํžˆ ์•Œ๋ ค์ง€์ง€ ์•Š์€ ์œ ํ˜•)
  • ๊ณ ์œ ํ•œ ๋ณ„์นญ(C/C++/C#์˜ ๋‹จ์ผ ๋ฉค๋ฒ„ struct s, Haskell์˜ newtype , Kotlin์˜ ์ธ๋ผ์ธ ํด๋ž˜์Šค)
  • ์ธก์ • ๋‹จ์œ„(์ฐจ์› ๋ถ„์„์„ ์–ธ์–ด๋กœ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ๋ฒ•)

์ด๋“ค ์ค‘ ์ผ๋ถ€ ์‚ฌ์ด์—๋Š” ์Œ์˜์ด ์žˆ์œผ๋ฉฐ(์˜ˆ: ์ž๋ฆฌ ํ‘œ์‹œ์ž ์œ ํ˜• ์„ ์–ธ - ๊ตฌํ˜„ ์œ ํ˜•์œผ๋กœ ๋Œ€์ฒด๋˜๋Š” ์ผ์ข…์˜ ๋ถˆํˆฌ๋ช… ์œ ํ˜• ๋ณ€ํ˜•), ๊ฐ๊ฐ์„ ํ•จ๊ป˜ ํ˜ผํ•ฉํ•˜๋Š” ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

@RyanCavanaugh ๋Š” 3๋ช…์˜ ์•„์ด๋“ค์ด ๋ถ€๋ชจ์—๊ฒŒ ์• ์™„๋™๋ฌผ์„ ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ํ›Œ๋ฅญํ•œ ๋น„์œ ๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” ๊ฐœ, ํ•˜๋‚˜๋Š” ๊ณ ์–‘์ด, ํ•˜๋‚˜๋Š” ๋ฌผ๊ณ ๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋ถ€๋ชจ์—๊ฒŒ "์šฐ๋ฆฌ๋Š” ์–ธ์ œ ์• ์™„ ๋™๋ฌผ์„ ํ‚ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?"๋ผ๊ณ  ๋ฌป์Šต๋‹ˆ๋‹ค. ๋ถ„๋ช…ํžˆ ๊ทธ๋“ค์€ ๋ชจ๋‘ ์• ์™„ ๋™๋ฌผ์„ ์›ํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•˜์ง€๋งŒ ๊ฐ๊ฐ ๋‹ค๋ฅธ ์• ์™„ ๋™๋ฌผ์„ ์›ํ•ฉ๋‹ˆ๋‹ค!

๋ธŒ๋žœ๋“œ ์œ ํ˜•์„ ์ข‹์•„ํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋ž˜์š”! ๋ธŒ๋žœ๋“œ ์œ ํ˜•์€ ๊ณ ์œ ํ•œ ๋ณ„์นญ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ๋‹ฌ์„ฑํ•˜๊ณ  ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ฐพ๊ณ  ์žˆ๋Š” ๊ฒƒ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์€ ์˜ณ์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ์•Œ๋ ค์ง„ ์ ˆ์ถฉ์•ˆ์œผ๋กœ ์‚ด์„ ๋ถ™์ผ ๋” ๋งŽ์€ ๋””์ž์ธ ๊ณต๊ฐ„์ด ์žˆ์œผ๋ฉฐ ์†”๋ฃจ์…˜์„ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์„œ๋‘๋ฅผ ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋Š” ๋Š๋‚Œ์„ ์ฃผ๋Š” ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค.

https://github.com/microsoft/TSJS-lib-generator/pull/858 ์„ TypeScript 4.0 ์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

@DanielRosenwasser ๋จผ์ € ์ž‘์„ฑํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๐Ÿ™‡

๋ช…๋ชฉํ˜• ์œ ํ˜•์ด ์‹ค์ œ๋กœ TypeScript์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•ด ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์ฒซ์งธ: ์ €๋ฅผ ๊ฑฐ๋Œ€ํ•œ ํ…์ŠคํŠธ ๋ฒฝ์ด๋‚˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ๋ณด๋‚ด์ฃผ์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฌ๋ฉด ์ œ๊ฐ€ ์ฝ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.]

๋‚˜๋Š” ์ž๋ฆฌ ํ‘œ์‹œ์ž ์œ ํ˜•๊ณผ ๊ฐ™์€ ๋ถˆํˆฌ๋ช…ํ•œ ์œ ํ˜•์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ "์ „ํ†ต์ ์ธ" ๋ช…๋ชฉ ์œ ํ˜•์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” ํ•ญ์ƒ ๋ช…๋ชฉํ˜•์ด JavaScript์™€ ๋ฐ˜๋Œ€๋ผ๊ณ  ๋Š๊ผˆ๊ณ , ๊ทธ๋ž˜์„œ ์ด์ „ ์‹œ๋„๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฝค ์ž˜ ์ž‘๋™ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฉฐ(swift์˜ ํ”„๋กœํ† ์ฝœ๊ณผ haskell์˜ typeclasses๋Š” "๋ช…๋ชฉ์ƒ์ด์ง€๋งŒ ์™ธ๋ถ€์—์„œ ํ™•์žฅ ๊ฐ€๋Šฅ"์œผ๋กœ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค) ๋Œ€๋ถ€๋ถ„์˜ "์ž˜ ํ™•๋ฆฝ๋œ" ๋ฐฉ๋ฒ•์— ์ต์ˆ™ํ•  ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. "์ธก์ • ๋‹จ์œ„"๊ฐ€ F# ์œ™ํฌ๋ผ๊ณ  ๊ฐ€์ •).

๋‚˜๋Š” ๋ช…๋ชฉํ˜•("์ „ํ†ต์ ์ธ") ์œ ํ˜•์„ ์š”๊ตฌํ•˜๋Š” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์„ ์ฐพ์•˜์ง€๋งŒ _why_์— ๋Œ€ํ•œ ๊ธ€์€ ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ "์ „ํ†ต์ ์ธ" ๋ช…๋ชฉ ์œ ํ˜•์„ ์š”์ฒญํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ ์  ๋” ์ ์–ด์ง€๋Š” ๊ฒƒ์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ง‘ํ•ฉ์ ์œผ๋กœ ๊ตฌ์กฐ์  ์œ ํ˜•์— ๋Œ€ํ•œ ์ •์‹  ๋ชจ๋“œ๋ฅผ ๊ตฌ์ถ•ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ํ˜•์ด ์‹ค์ œ๋กœ ๋ช…๋ชฉ์ƒ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ณณ์ด ์žˆ์Šต๋‹ˆ๋‹ค( instanceof ๊ฐ€ ๊ด€๋ จ๋˜๊ฑฐ๋‚˜ private์ด ์žˆ์„ ๋•Œ). ๊ทธ ์ค‘ ์ผ๋ถ€๋Š” ๋” ๋‚˜์€ ์ œ์–ด ํ๋ฆ„ ๋ถ„์„ ๋ฐ ํ˜ธํ™˜์„ฑ ๊ฒ€์‚ฌ๋กœ ์บก์ฒ˜๋˜์ง€๋งŒ ์™„๋ฒฝํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

"์ „ํ†ต์ ์ธ" ์‚ฌ์šฉ ์‚ฌ๋ก€ ์ค‘ ์ผ๋ถ€๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์—†๋Š” ๋ช…๋ชฉ ๋ž˜ํผ ์œ ํ˜•(์˜ˆ: newtype )์˜ ๊ฒฝ์šฐ์™€ ๋™์ผํ•˜๋ฉฐ ๋Œ€๋ถ€๋ถ„ ํŒŒ์ผ๊ณผ ๊ฐ™์€ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ํŠน์ˆ˜ ์ฒ˜๋ฆฌ๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฒฝ๋กœ, ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ž์—ด ๋“ฑ

Typescript๋Š” ์ด๋ฏธ ์ถฉ๋ถ„ํžˆ ํ‘œํ˜„๋ ฅ์ด ํ’๋ถ€ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ๋ณด๊ณ  ์‹ถ์€ ๊ฒƒ์€ ๋” ๋‚˜์€ ๋„๊ตฌ ํ†ตํ•ฉ์ž…๋‹ˆ๋‹ค.

์œ„์˜ ์ด์œ ๋กœ ํˆฌ๋ฐ•ํ•˜๊ณ  ํ•ดํ‚คํ•œ ์†”๋ฃจ์…˜์„ ๋ณด๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ˜์‘ ํ”„๋กœ์ ํŠธ์—๋Š” react-hot-loader(์ปดํŒŒ์ผ๋Ÿฌ ํ”Œ๋Ÿฌ๊ทธ์ธ)์šฉ์œผ๋กœ babel์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ผ๋ถ€ CSS ์‹œ์Šคํ…œ์—์„œ๋Š” ์ปดํŒŒ์ผ ์‹œ๊ฐ„ ๋ณ€ํ™˜์„ ์œ„ํ•ด babel์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. pnp, esm ๋˜๋Š” CSS ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด tsc ์ œํ•œ์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ๋„๊ตฌ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ ์ค‘ ์ผ๋ถ€์— ๋Œ€ํ•ด ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ PR ๋˜๋Š” ์ œ์•ˆ์˜ ํ˜•ํƒœ๋กœ ๊ตฌ์ฒด์ ์ธ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ–ˆ์ง€๋งŒ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ์ˆ˜๋…„ ๋™์•ˆ ๊ฑฐ๋ถ€๋˜๊ฑฐ๋‚˜ ์ค‘๋‹จ๋˜์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค๋„ ์‹ค๋ง์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ์‹ค๋ฌด์ž๋กœ์„œ ๋” ๋„“์€ ์ƒํƒœ๊ณ„์˜ ๋งฅ๋ฝ์—์„œ TS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ์  ๋” ์–ด๋ ค์›Œ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์–ด์จŒ๋“  ๋‚˜๋Š” ์ธํ„ฐ๋„ท์—์„œ ๋ฌด์ž‘์œ„๋กœ ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค.

@DanielRosenwasser ๋Š” https://github.com/microsoft/TypeScript/pull/29374 ๊ฐ€ 4.0์— ๋งž์ถฐ ๊ฒ€ํ† ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? this -before- super ์‚ฌ๋ก€ ์ค‘ ๋งŽ์€(๋Œ€๋ถ€๋ถ„?) ์‚ฌ๋žŒ๋“ค์ด ๊ถ๊ธˆํ•ดํ•˜๋Š” ๋‚ด์šฉ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ํ™•์žฅ์ž๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ ๊ฒฝ๋กœ๋กœ ES ๋ชจ๋“ˆ์„ ์ฐธ์กฐํ•˜๋Š” ์ง€์›์„ ํฌํ•จํ•˜๋Š” ๊ฒƒ์„ ์žฌ๊ณ ํ•˜์‹ญ์‹œ์˜ค. ๋‹ค์ค‘ ํ™˜๊ฒฝ ์ฝ”๋“œ์˜ ๊ฒฝ์Ÿ ์˜์—ญ์„ ํ‰์ค€ํ™”ํ•˜๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

https://github.com/microsoft/TypeScript/issues/16577

typescript ์ฃผ๋ณ€ ๋„๊ตฌ์— ์ง‘์ค‘ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! https://github.com/microsoft/tsdoc๊ณผ์˜ ๊ธด๋ฐ€ํ•œ ํ†ตํ•ฉ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. go ๋ฐ Rust์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋งŽ์€ ํ˜„๋Œ€ ์–ธ์–ด๋Š” ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฌธ์„œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ํ‘œ์ค€ ์ฃผ์„์„ ์ž‘์„ฑํ•˜๋„๋ก ๊ถŒ์žฅํ•˜์ง€๋งŒ ์ด ์ ์—์„œ typescript๋Š” ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.

#31445๊ฐ€ ์„ ํƒ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ •๋ง ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ๊ฑฐ๋ž˜ ์ฐจ๋‹จ๊ธฐ์˜€์œผ๋ฉฐ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด (ํ•ด๋‹น ๋ฌธ์ œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์ฐธ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€์— ๋”ฐ๋ผ) ๋ฏฟ์Šต๋‹ˆ๋‹ค!

https://github.com/microsoft/TypeScript/pull/38967 ์€ TypeScript 4.0 ์— ํฌํ•จ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ https://github.com/microsoft/TypeScript/pull/35608 ๋„ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .

์‚ฌ๋žŒ๋“ค์ด 4.0 ๋ฆด๋ฆฌ์Šค์— ๋ชจ๋“  ๊ฒƒ์„ ํฌํ•จํ•˜๋„๋ก ์š”์ฒญํ•˜๊ณ  ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค ๐Ÿ˜†

TS๊ฐ€ ๊ธฐ์„ธ๋ฅผ ์žƒ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๊นŒ? ๋‹ค์Œ _major_, 4.0.0 ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ๋ฌดํšจ ๋ณ‘ํ•ฉ ๋ฐ ๋‹จ๋ฝ ํ• ๋‹น? ๋” ์ด์ƒ ํฐ ๋ชฉํ‘œ์™€ ์•ผ๋ง ์•„์ด๋””์–ด๊ฐ€ ์—†์Šต๋‹ˆ๊นŒ?

๋‹ค์Œ ์ „๊ณต์˜ ๊ฒฝ์šฐ ๋‹ค์Œ์„ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ณ ๊ธ‰ ํƒ€์ดํ•‘
  • ์ข…์† ์ž…๋ ฅ? ์œ ํ˜• ์ˆ˜์ค€ ๊ธฐ๋Šฅ? (์ข‹์•„, ์ด๊ฒƒ์€ 5.0.0์„ ์œ„ํ•œ ๊ฒƒ์ผ ์ˆ˜ ์žˆ๋‹ค)
  • ๊ณต์นญ ํƒ€์ดํ•‘
  • ๋งˆํฌ๋กœ์Šค
  • tsconfig.json ์˜ ๋ณ€์••๊ธฐ ์ง€์›
  • WASM์œผ๋กœ ์ปดํŒŒ์ผ(์ผ๋ถ€ ์–ธ์–ด ํ•˜์œ„ ์ง‘ํ•ฉ)

@canonic-epicure ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๋‹ค์Œ ๋ฒ„์ „์—์„œ๋Š” 3.10์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

TS๊ฐ€ ๊ธฐ์„ธ๋ฅผ ์žƒ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๊นŒ? ๋‹ค์Œ ์ฃผ์š” 4.0.0 ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ๋ณ‘ํ•ฉ ๋ฐ ๋‹จ๋ฝ ํ• ๋‹น์„ ๋ฌดํšจํ™”ํ•ฉ๋‹ˆ๊นŒ? ๋” ์ด์ƒ ํฐ ๋ชฉํ‘œ์™€ ์•ผ๋ง ์•„์ด๋””์–ด๊ฐ€ ์—†์Šต๋‹ˆ๊นŒ?

TypeScript๋Š” semver๋ฅผ ๋”ฐ๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. v0.10, v1.10, v2.10 ๋˜๋Š” v3.10์ด ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๊ฒƒ์€ ์‹ค์ œ๋กœ ์ •์ƒ์ ์ธ ์ด์ •ํ‘œ์ž…๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด 4.0์—์„œ ๋งŽ์€ ๋ณ€ํ™”๋ฅผ ๊ธฐ๋Œ€ํ•˜๊ณ  ์žˆ์ง€๋งŒ 3.9 ๋˜๋Š” ์ด์ „ ๋ฐ˜๋ณต ๊ณ„ํš์—์„œ ์•„๋ฌด ๋ง๋„ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ์กฐ๊ธˆ ์ด์ƒํ•œ ์ผ์ž…๋‹ˆ๋‹ค. ๐Ÿ™ˆ

์œ ํ˜• ์ˆ˜์ค€ ํ•จ์ˆ˜

type X<T> = T ๋Š” ์–ด๋Š ์ •๋„๋Š” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

๋งˆํฌ๋กœ์Šค

IMO๋Š” Typescript์˜ ๋ชฉํ‘œ๋ฅผ ์ถฉ์กฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

tsconfig.json์˜ ๋ณ€ํ™˜๊ธฐ ์ง€์›

์‹œ๋„ํ•ด๋ณด์‹ญ์‹œ์˜ค: https://github.com/cevek/ttypescript

WASM์œผ๋กœ ์ปดํŒŒ์ผ(์ผ๋ถ€ ์–ธ์–ด ํ•˜์œ„ ์ง‘ํ•ฉ)

https://www.assemblyscript.org/ ๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์ข‹์Šต๋‹ˆ๋‹ค. 4.0.0์€ ๋‹ค์Œ ๋งˆ์ด๋„ˆ ๋ฆด๋ฆฌ์Šค์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.

"๋งคํฌ๋กœ๊ฐ€ TS ๋ชฉํ‘œ๋ฅผ ์ถฉ์กฑํ•˜์ง€ ์•Š์Œ" ๋ฐ "๋ณ€์••๊ธฐ์— ttypescript ์‚ฌ์šฉ"( ts-patch ์ด ๋” ์ž˜ ์ž‘๋™ํ•จ)๊ณผ ๊ด€๋ จํ•˜์—ฌ - ์ด๊ฒƒ์€ jedi ์›€์ง์ž„๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค - "์ด๊ฒƒ์€ ๋‹น์‹ ์ด ํ•„์š”๋กœ ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์•„๋‹™๋‹ˆ๋‹ค". ์•„๋‹ˆ์š”, ๋งคํฌ๋กœ์™€ ๋ณ€ํ™˜๊ธฐ๋ฅผ ์ฆ‰์‹œ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๊ฒƒ์€ ๋ช‡ ๋…„ ์ „์— ์š”์ฒญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ TypeScript์—์„œ marco๋ฅผ ์›ํ•˜์ง€๋งŒ ์ด๊ฒƒ์— ๋ฐ˜๋Œ€ํ•˜๋Š” ์ด์œ ๋Š” ์ •๋ง ๋งŽ์Šต๋‹ˆ๋‹ค.

  1. Marco๊ฐ€ ๋‹ค๋ฅธ JavaScript ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด ๋น„์œ ํ˜• ์ˆ˜์ค€ ๊ตฌ๋ฌธ์„ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ES ์‚ฌ์–‘์˜ ํ™•์žฅ์ž…๋‹ˆ๋‹ค. enum , import x = require(...) , module ๋Š” ์ด ๊ทœ์น™์˜ ์˜ˆ์™ธ์ด์ง€๋งŒ TypeScript ์ดˆ๊ธฐ๋ถ€ํ„ฐ ์™”์Šต๋‹ˆ๋‹ค.

  2. Marco๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ๊ต์ฐจํ•˜์—ฌ ๋‹ค๋ฅธ JS ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋ ค๋Š” ๊ฒฝ์šฐ JavaScript ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ์œ ํ˜• ๊ตฌ๋ฌธ์„ ๋ฉ์ฒญํ•˜๊ฒŒ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  3. Marcos๋Š” ๋ถ„์„ ๋ฐ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์„ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‚จ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  4. Marco๊ฐ€ ์œ ํ˜• ์ •๋ณด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ JS ํŒŒ์ผ์„ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด Babel์ด ์ด ๊ตฌ๋ฌธ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋™์ž‘์€ isolatedModules ๊ทœ์น™์„ ์œ„๋ฐ˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(์˜ˆ์™ธ: const enum ๋ฐ module ).

  5. Marco๊ฐ€ "์œ ํ˜• ์ˆ˜์ค€ Marco"๋งŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ  Babel์— ์˜ํ•ด ์•ˆ์ „ํ•˜๊ฒŒ ์ง€์šธ ์ˆ˜ ์žˆ๋‹ค๋ฉด ํ›จ์”ฌ ์“ธ๋ชจ์—†๊ฒŒ ๋˜์ง€๋งŒ ๊ณ ์ฐจ/ํ”„๋กœ๊ทธ๋ž˜๋งคํ‹ฑ ์œ ํ˜•์—๋Š” ์—ฌ์ „ํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชฉํ‘œ๋ฅผ ์œ„๋ฐ˜ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ TypeScript ํŒ€์ด ์ด ์•„์ด๋””์–ด์— ๊ด€์‹ฌ์„ ๊ฐ€์งˆ์ง€ ์˜๋ฌธ์ž…๋‹ˆ๋‹ค. (https://github.com/Jack-Works/typescript-marco-demo/blob/master/marco-test.ts์—์„œ ๋ฐ๋ชจ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.)

@Jack-Works ๋‚˜๋Š” ๋‹น์‹ ์˜ ์š”์ ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋งคํฌ๋กœ๊ฐ€ ํŒŒ์„œ๋ฅผ ํ™•์žฅํ•˜๊ณ  ์ƒˆ๋กœ์šด synatx๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๊นŒ?

๋‚˜์—๊ฒŒ ๋งคํฌ๋กœ๋Š” AST -> AST ๊ธฐ๋Šฅ์œผ๋กœ, ์ด์ „ ์œ ํ˜• ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ์–ด๋–ป๊ฒŒ๋“  ์‹คํ–‰ํ•˜๋ฏ€๋กœ ์ •๊ธฐ์ ์œผ๋กœ ์œ ํ˜• ๊ฒ€์‚ฌ๋ฅผ ๋ฐ›์„ ์ƒˆ AST ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ƒˆ ๊ตฌ๋ฌธ์„ ์ƒ์„ฑํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅ์€ ์ผ๋ฐ˜ AST์ด๊ณ  ์ถœ๋ ฅ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. AST์—์„œ ์ƒˆ ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

ํ† ๋ก ์€ ์ด ์Šค๋ ˆ๋“œ์—์„œ ์ฃผ์ œ๋ฅผ ๋ฒ—์–ด๋‚˜์„œ ์•„๋งˆ๋„ #compiler ์ฑ„๋„์—์„œ ๊ณ„์†๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

TypeScript 4.0์— #38597์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@DanielRosenwasser

์ธ๋ฑ์Šค ์„œ๋ช…์— ์ •์˜๋˜์ง€ ์•Š์€ ๊ฒƒ์€ ํฅ๋ฏธ๋กœ์šด ์˜ˆ์ด์ง€๋งŒ ํ˜„์žฌ ๊ฐ€์ •ํ•˜์— ์ด๋ฏธ ์šด์˜ ์ค‘์ธ 90%์˜ ์‚ฌ๋žŒ๋“ค์„ ๋” ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ๋™์ž‘์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๊ฒŒ 90%์˜ ์‚ฌ๋žŒ๋“ค์ธ์ง€ ์–ด๋–ป๊ฒŒ ์•„๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

@wongjiahau ๋ฒˆํ˜ธ๋Š” ์„ค๋ช…์„ ์œ„ํ•ด ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ์ง€์–ด๋‚ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๋‹น์‹ ์ด ๋ฌป๋Š” ํŠน์ • ์š”์ ์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•ž์„œ๊ฐ€๋Š” ์‚ฌ๋žŒ๋“ค์ฒ˜๋Ÿผ: ์šฐ๋ฆฌ ํŒ€์€ 6์›” 19์ผ์— ์ผํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ผ์ •์„ ์กฐ๊ธˆ ์•ž๋‹น๊ธธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฒ ํƒ€๋Š” ํ˜„์žฌ 6์›” 25์ผ ๋ชฉ์š”์ผ๊นŒ์ง€ ๋ฐฐ์†ก๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

@DanielRosenwasser ๋‚˜๋Š” ๋‹น์‹ ์ด Typescript์˜ ์ฒซ ๋ฒˆ์งธ ๋ชฉํ‘œ์™€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ผ์น˜ํ•˜๋Š” ๊ธฐ๋Šฅ(# 13778 )์˜ ์ค‘์š”์„ฑ์„ ๋ถ€์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ž„์˜์˜ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์ ์„ ์ง€์ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

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

@wongjiahau ์šฐ๋ฆฌ๋Š” ํšŒ์˜์— ์ฐธ์„ํ•˜์ง€ ์•Š์•˜๊ณ  "Daniel์ด ์ด ์ˆ˜์น˜๊ฐ€ 90%๋ผ๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์šฐ๋ฆฌ์˜ ์ž„๊ณ„๊ฐ’์ธ 85%๋ฅผ ์ดˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ์ ˆ๋Œ€ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ๋ง™์‹œ๋‹ค"๋ผ๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ๊ทธ๊ฒƒ์„ ์กฐ์‚ฌํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด์— ๋Œ€ํ•œ ๊ฐœ๋ฐœ์ž ์ˆ˜์š”๋ฅผ ์ž˜ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ ์ด ๊ธฐ๋Šฅ์ด ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ์•„๋ฆ„๋‹ต์ง€ ์•Š๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ ๋‹น์‹ ์ด ์šฐ๋ฆฌ๋กœ๋ถ€ํ„ฐ ์ด์™€ ๊ฐ™์€ ์ง„์ˆ ์„ ๊ณผ๋Œ€ ๋ถ„์„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค๋ฉด ์šฐ๋ฆฌ๋กœ๋ถ€ํ„ฐ ๋” ์ ์€ ์ˆ˜์˜ ์ง„์ˆ ์„ ๋ฐ›๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์šฐ๋ฆฌ๋Š” ์ธํ„ฐ๋„ท์—์„œ ์ ๊ทน์ ์œผ๋กœ ์ž˜๋ชป ํ•ด์„๋˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋‚˜์€ ์ผ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

4.0์€ "3.9์˜ ๋‹ค์Œ ๋ฒ„์ „"์ด ์•„๋‹ˆ๋ผ ํ™•์‹คํžˆ ์ด์ •ํ‘œ์ž…๋‹ˆ๋‹ค.

@typescript-bot ์ƒ์„ฑ ๋ฆด๋ฆฌ์Šค-4.0

@DanielRosenwasser๋‹˜ , ์—ฌ๋Ÿฌ๋ถ„์„ ์œ„ํ•ด release-4.0 ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋กœ๊ทธ์—์„œ ๊ฐ€์žฅ ์ž˜ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋งํฌ ์ž…๋‹ˆ๋‹ค.

@Kingwl ์ด๊ฒƒ์ด ์ด์ •ํ‘œ๋ผ๋ฉด ๊ทธ ํฐ ์ผ์ด๋‚˜ ์ ์–ด๋„ ์˜์›… ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด ๋ฌธ์ œ์˜ ๋งจ ์œ„์— ์žˆ๋Š” ์–ธ์–ด ๊ธฐ๋Šฅ ๋ชฉ๋ก์—์„œ ๊ทธ๋Ÿฐ ํ›Œ๋ฅญํ•œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ 3.x ๋ฆด๋ฆฌ์Šค์™€ ๋น„๊ตํ•  ๋•Œ ํŠน์ดํ•œ ์ ์€ ์—†์Šต๋‹ˆ๋‹ค.
๋ฌผ๋ก  ๋ฉ”์ด์ € ๋ฒ„์ „์˜ ์ถœ์‹œ๊ฐ€ ํ•„์š”ํ•œ ๋ธŒ๋ ˆ์ดํ‚น ์ฒด์ธ์ง€๋ผ๊ณ  ๋งํ•  ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ, '๋งˆ์ผ์Šคํ†ค'์ด๋ผ๊ณ  ํ•˜๊ธฐ๋Š” ์–ด๋ ต๋‹ค.

@wgebczyk ์ œ ์ƒ๊ฐ์—๋Š” ๋ ˆ์ด๋ธ”์ด ์ง€์ •๋œ ํŠœํ”Œ ์š”์†Œ๊ฐ€ ์žˆ๋Š” ๊ฐ€๋ณ€ ํŠœํ”Œ์ด ์ด์ •ํ‘œ์ž…๋‹ˆ๋‹ค.

@wgebczyk ์‹ ๊ฒฝ ์“ฐ์ง€ ๋งˆ์„ธ์š”. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ Variadic Tuple์€ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

@xiaoxiangmoe @Kingwl ๋งˆ์ผ์Šคํ†ค ? ์ธ์น˜ ์Šคํ†ค.

๊ฑฐ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค: https://devblogs.microsoft.com/typescript/announcing-typescript-4-0-beta/#variadic -tuple-types
์–ธ์ œ ์•ˆ์ •ํ™” ๋ฒ„์ „์— ๋„๋‹ฌํ•ฉ๋‹ˆ๊นŒ? ๋งค์ผ VS Code๋กœ ์ฝ”๋”ฉํ•  ๋•Œ ์ด๊ฒƒ์„ ์ ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@mk0y 8์›” 18์ผ์— ๋Œ€ํ•œ ์˜คํ”„๋‹ ๋ฉ”์‹œ์ง€ ์— ๋”ฐ๋ฅด๋ฉด.

@wgebczyk ๋ฆด๋ฆฌ์Šค๋Š” ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค. ๊ฐ ๋ฆด๋ฆฌ์Šค์—๋Š” ์•ฝ 3๊ฐœ์›” ๊ฐ„์˜ ํŒ€ ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๋งˆ์ผ์Šคํ†ค ๋ฒ„์ „ ๊ด€๋ฆฌ ์ •์ฑ…(n = n + 0.1)์€ ์ง€๋‚œ 20๊ฐœ ๋ฆด๋ฆฌ์Šค์—์„œ ์ผ๊ด€๋˜์—ˆ์œผ๋ฏ€๋กœ ์–ธ์  ๊ฐ€๋Š” ์ด๊ฒƒ์ด ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋†€๋ผ์šด ์ผ์ด ์•„๋‹ˆ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค ๐Ÿ˜…

๋‹ค์Œ ๋งˆ์ด๋„ˆ ๋ฆด๋ฆฌ์Šค์—์„œ ์ธ๋ฑ์‹ฑ์„ ์œ„ํ•ด symbol ์œ ํ˜•์„ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? pull request 26797 ์„ ๊ตฌํ˜„ํ•˜๊ณ  ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@DanielRosenwasser๋‹˜ , ์ €๋Š” release-4.0 4.0.1-rc ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋กœ๊ทธ์—์„œ ๊ฐ€์žฅ ์ž˜ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋งํฌ ์ž…๋‹ˆ๋‹ค.

@typescript-bot ๋™๊ธฐํ™” ๋ฆด๋ฆฌ์Šค-4.0

@DanielRosenwasser๋‹˜ , ๋งˆ์Šคํ„ฐ์™€ release-4.0 ๋™๊ธฐํ™”๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋กœ๊ทธ์—์„œ ๊ฐ€์žฅ ์ž˜ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋งํฌ ์ž…๋‹ˆ๋‹ค.

@typescript-bot ๋™๊ธฐํ™” ๋ฆด๋ฆฌ์Šค-4.0

@DanielRosenwasser๋‹˜ , ๋งˆ์Šคํ„ฐ์™€ release-4.0 ๋™๊ธฐํ™”๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋กœ๊ทธ์—์„œ ๊ฐ€์žฅ ์ž˜ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋งํฌ ์ž…๋‹ˆ๋‹ค.

@weswigham mmmmmmmmmmmmmmmmmm ๋ด‡์ด ๋‚˜๋ฅผ ์‹ซ์–ดํ•ฉ๋‹ˆ๋‹ค ): ): ): ):

์ „ํ˜€ ์„œ๋‘๋ฅด์ง€ ์•Š์ง€๋งŒ ์ˆ˜๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‹ค์Œ์„ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/microsoft/TypeScript/issues/39869

์–ด๋”˜๊ฐ€์— 4.0 ์ดํ›„์— ๋Œ€ํ•œ ๋กœ๋“œ๋งต์ด ์ด๋ฏธ ์žˆ์Šต๋‹ˆ๊นŒ? ์ ์  ๋” ์ˆ˜์š”๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— #37582๋ฅผ ๊ฐ•ํ™”ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค(#39965, #38149, #27481, #39965, #38546). ๊ทธ๊ฒƒ์€ ๋‚˜์—๊ฒŒ ํ•ฉ๋ฆฌ์ ์ธ ๋ฒ”์œ„์˜ ๋ฌธ์ œ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์›น ์‚ฌ์ดํŠธ ์ถœ์‹œ ๋ฐ ๊ธฐํƒ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์œ„ํ•ด RC์— ์ฐฉ๋ฅ™ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” 2์ผ๊นŒ์ง€ RC๋ฅผ ์˜ฎ๊ฒจ์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ๋ฅผ ํ›จ์”ฌ ๋” ๋’ค๋กœ ๋ฏธ๋ฃฐ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ ์•ˆ์ „์„ ์œ„ํ•ด RC์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์–ป๊ธฐ ์œ„ํ•ด 2์ผ์„ ๋” ์ฃผ๊ณ  ๋Œ€์‹  20์ผ์„ ๋ชฉํ‘œ๋กœ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@typescript-bot ๋ฒ”ํ”„ ๋ฆด๋ฆฌ์Šค-4.0

@DanielRosenwasser๋‹˜ , ์ €๋Š” release-4.0 4.0.2 ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋กœ๊ทธ์—์„œ ๊ฐ€์žฅ ์ž˜ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋งํฌ ์ž…๋‹ˆ๋‹ค.

8์›” 20์ผ์ž…๋‹ˆ๋‹ค :)

ํ— ์•„์ง 8์›” 19์ผ์ธ๋ฐ ์ง€๊ธˆ๋ถ€ํ„ฐ 20๋ถ„์ด๋ผ๋„ ๋” ๊ธฐ๋‹ค๋ ค์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค. 1๋ถ„๋งŒ ๋” ์‹œ๊ฐ„์„ ๋‚ด์‹ค ์ˆ˜ ์—†๋‹ค๋ฉด npm์—์„œ ์•ผ๊ฐ„ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค! ๐Ÿ˜„

๋ฆด๋ฆฌ์Šค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ npm์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค :)

@typescript-bot ๋ฒ”ํ”„ ๋ฆด๋ฆฌ์Šค-4.0

@DanielRosenwasser๋‹˜ , ์ €๋Š” release-4.0 4.0.3 ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋กœ๊ทธ์—์„œ ๊ฐ€์žฅ ์ž˜ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋งํฌ ์ž…๋‹ˆ๋‹ค.

@typescript-bot ๋ฒ”ํ”„ ๋ฆด๋ฆฌ์Šค-4.1

@DanielRosenwasser๋‹˜ , ์ €๋Š” release-4.1 4.1.1-rc ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋กœ๊ทธ์—์„œ ๊ฐ€์žฅ ์ž˜ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋งํฌ ์ž…๋‹ˆ๋‹ค.

์•ˆ ๋ผ

@typescript-bot ๋ฒ”ํ”„ ๋ฆด๋ฆฌ์Šค-4.0

@DanielRosenwasser๋‹˜ , ์ €๋Š” release-4.0 4.0.4 ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋กœ๊ทธ์—์„œ ๊ฐ€์žฅ ์ž˜ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋งํฌ ์ž…๋‹ˆ๋‹ค.

@typescript-bot ๋ฒ”ํ”„ ๋ฆด๋ฆฌ์Šค-4.0

@DanielRosenwasser๋‹˜ , ์ €๋Š” release-4.0 4.0.5 ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋กœ๊ทธ์—์„œ ๊ฐ€์žฅ ์ž˜ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋งํฌ ์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰