์ด ๋ฌธ์๋ 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 ์ต์ข
๋ฆด๋ฆฌ์ค ๐
awaited
์ ํ ์กฐ์ฌunknown
catch
์ ๋ฐ์ธ๋ฉ์ ๋ํ unknown/** <strong i="56">@deprecated</strong> */
ํ๊ทธ์ ๋ํ ํธ์ง๊ธฐ ์ง์/** <strong i="60">@see</strong> */
ํ๊ทธ์ ๋ํ ํธ์ง๊ธฐ ์ง์์คํ ํ๋๊ทธ ๋ค์ 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 ์์ ์ ๊ตฌํํ ์ ์์ต๋๊น ๐
๋ก๋๋งต๊ณผ ๋ฐ๋ณต ๊ณํ์ ๋ํด ์ฃผ์๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํ๋ ๋ฌธ์ ๋ฅผ ๊ฐ๋ ์ ๊ธฐํ๋ ์ฌ๋๋ค์๊ฒ ๊ฐ์ฌํ์ง๋ง, ์ฌ๊ธฐ์ ๋ถ๋ช ํ ํด์ผ ํ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. "๋์ ์์๊ฐ ๋ง์ ๋ฒ๊ทธ ์์ ์กฐ์ฌ" ์น์ ์ ๊ทธ๋ฌ๋ ๋ฒ์์์ ํฉ๋ฆฌ์ ์ผ๋ก ๋ณด์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ ์ธ๊ธ๋ ๋ฌธ์ ๋ฅผ ์ผ๋์ ๋๊ณ ์์ง๋ง ๊ทธ ์ค ์ผ๋ถ๋ ๋ฒ์๊ฐ ์ง์ ๋์ง ์์๊ฑฐ๋ ๋ช ํํ ์ด์์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ป์ง ๋ชปํ์ต๋๋ค.
์:
undefined
๋ ํฅ๋ฏธ๋ก์ด ๊ฒ์ ํ ์์ด์ง๋ง ํ์ฌ ๊ฐ์ ํ์ ์ด๋ฏธ ์ด์ ์ค์ธ 90%์ ์ฌ๋๋ค์ ๋ ์ด๋ ต๊ฒ ๋ง๋๋ ํ๋์ ์ถ๊ฐํ๊ณ ์ถ์ง ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ์ด๋ฌํ ๊ฒ์ฌ๋ฅผ ๊ตฌ์ฑํ๊ณ ์ ์ง์ ์ผ๋ก ์ฑํํ ์ ์๋๋ก ํ๋ ์ ๊ทผ ๋ฐฉ์์ ์ฐพ๋ ๊ฒ์ ๋ถ๋ช
ํ์ง ์์ต๋๋ค. ๋ง์ ์กฐ๊ฑด๋ถ ์ ํ๊ณผ ํน์ ์ปดํ์ผ๋ฌ ๊ฒ์ฌ๋ก ๊ธฐ์ ์ ์ผ๋ก ๊ฐ๋ฅํ๋๋ผ๋ ์ด๋ฌํ ์๋ฃจ์
์ ๋งค์ฐ ๋ช
ํํ๊ฒ ํดํน๋๊ณ ๋น ๋ฅด๊ฒ ๋ถํด๋๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.๋ช ๋ชฉ์ ๋ธ๋๋๊ฐ ์ข๊ฒ ์ง๋ง ๋ช ๋ชฉ์์ ๋ฏธ๋ ์ธ์ด ๋ฐฉํฅ์ผ๋ก ๊ตฌ์ฑ๋ ๊น์?
@DanielRosenwasser ๋น์ ์ ๋น์ ์์ ๋ฏธ๋ ์ธ์ด ๋ฐฉํฅ์ ๋ฌด์์ ๋๊น?
๋ช ๋ชฉ์ ๋ด ๋ง์์ด ์ด๋์ ์๋์ง์ ๋ํ ์ปจํ ์คํธ๋ฅผ ์ ๊ณตํ ๊ฒ์ ๋๋ค. ๋ค์์ ํฌํจํ์ฌ ๋ช ๋ชฉ ์ ํ์ ๋ํด ์ง๋ฌธํ ๋ ์ฌ๋๋ค์ด ์ผ๋์ ๋๋ ๋ค์ํ ์์ด๋์ด๊ฐ ์์ต๋๋ค.
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 ๋ชจ๋์ ์ฐธ์กฐํ๋ ์ง์์ ํฌํจํ๋ ๊ฒ์ ์ฌ๊ณ ํ์ญ์์ค. ๋ค์ค ํ๊ฒฝ ์ฝ๋์ ๊ฒฝ์ ์์ญ์ ํ์คํํ๋ ๋ฐ ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
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 ๋ฆด๋ฆฌ์ค์ ๋ํ ๋ฌดํจ ๋ณํฉ ๋ฐ ๋จ๋ฝ ํ ๋น? ๋ ์ด์ ํฐ ๋ชฉํ์ ์ผ๋ง ์์ด๋์ด๊ฐ ์์ต๋๊น?
๋ค์ ์ ๊ณต์ ๊ฒฝ์ฐ ๋ค์์ ๊ธฐ๋ํฉ๋๋ค.
tsconfig.json
์ ๋ณ์๊ธฐ ์ง์@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๋ฅผ ์ํ์ง๋ง ์ด๊ฒ์ ๋ฐ๋ํ๋ ์ด์ ๋ ์ ๋ง ๋ง์ต๋๋ค.
Marco๊ฐ ๋ค๋ฅธ JavaScript ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ ๊ฒฝ์ฐ ์๋ก์ด ๋น์ ํ ์์ค ๊ตฌ๋ฌธ์ ์์ฑํ๋ฏ๋ก ES ์ฌ์์ ํ์ฅ์
๋๋ค. enum
, import x = require(...)
, module
๋ ์ด ๊ท์น์ ์์ธ์ด์ง๋ง TypeScript ์ด๊ธฐ๋ถํฐ ์์ต๋๋ค.
Marco๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ํ์ผ์ ๊ต์ฐจํ์ฌ ๋ค๋ฅธ JS ํ์ผ์ ์์ฑํ๋ ค๋ ๊ฒฝ์ฐ JavaScript ํ์ผ์ ๊ฐ์ ธ์ค๊ธฐ ์ํด ๋ชจ๋ ์ ํ ๊ตฌ๋ฌธ์ ๋ฉ์ฒญํ๊ฒ ์ญ์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
Marcos๋ ๋ถ์ ๋ฐ ์ปดํ์ผ ์๊ฐ์ ๋๋ฆด ์ ์์ผ๋ฉฐ ๋จ์ฉ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
Marco๊ฐ ์ ํ ์ ๋ณด์ ๋ฐ๋ผ ๋ค๋ฅธ JS ํ์ผ์ ๋ด๋ณด๋ผ ์ ์๋ค๋ฉด Babel์ด ์ด ๊ตฌ๋ฌธ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ด ๋์์ isolatedModules
๊ท์น์ ์๋ฐํ๋ ๊ฒ์
๋๋ค(์์ธ: const enum
๋ฐ module
).
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
๋ก ์
๋ฐ์ดํธํ๊ธฐ ์์ํ์ต๋๋ค. ๋ค์์ ๋ก๊ทธ์์ ๊ฐ์ฅ ์ ์ถ์ธกํ ์ ์๋ ๋งํฌ ์
๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Typescript๋ ์ด๋ฏธ ์ถฉ๋ถํ ํํ๋ ฅ์ด ํ๋ถํ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ๋ณด๊ณ ์ถ์ ๊ฒ์ ๋ ๋์ ๋๊ตฌ ํตํฉ์ ๋๋ค.
์์ ์ด์ ๋ก ํฌ๋ฐํ๊ณ ํดํคํ ์๋ฃจ์ ์ ๋ณด๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค. ๋๋ถ๋ถ์ ๋ฐ์ ํ๋ก์ ํธ์๋ react-hot-loader(์ปดํ์ผ๋ฌ ํ๋ฌ๊ทธ์ธ)์ฉ์ผ๋ก babel์ด ํฌํจ๋์ด ์์ผ๋ฉฐ ์ผ๋ถ CSS ์์คํ ์์๋ ์ปดํ์ผ ์๊ฐ ๋ณํ์ ์ํด babel์ด ํ์ํฉ๋๋ค. pnp, esm ๋๋ CSS ๋ชจ๋์ ์ฌ์ฉํ๋ ค๋ฉด tsc ์ ํ์ ๋ํ ๋ ๋ง์ ๋๊ตฌ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.
๋ํ ์ด๋ฌํ ๋ฌธ์ ์ค ์ผ๋ถ์ ๋ํด ์ปค๋ฎค๋ํฐ์์ PR ๋๋ ์ ์์ ํํ๋ก ๊ตฌ์ฒด์ ์ธ ์๋ฃจ์ ์ ์ ๊ณตํ์ง๋ง ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์๋ ๋์ ๊ฑฐ๋ถ๋๊ฑฐ๋ ์ค๋จ๋์๋ค๋ ์ฌ์ค๋ ์ค๋ง์ค๋ฝ์ต๋๋ค. ์ค๋ฌด์๋ก์ ๋ ๋์ ์ํ๊ณ์ ๋งฅ๋ฝ์์ TS๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์ ๋ ์ด๋ ค์์ง๊ณ ์์ต๋๋ค.
์ด์จ๋ ๋๋ ์ธํฐ๋ท์์ ๋ฌด์์๋ก ์ฌ๋์ ๋๋ค.