TSC ?
ํ์ (T) ์คํฌ๋ฆฝํธ(S) ์ปดํ์ผ๋ฌ(C)์ ์ค์๋ง์ด๋ค.
์ปดํ์ผ๋ฌ ?
์ปดํ์ผ๋ฌ๋ ํน์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์ ์ ์ธ์ด๋ก์์ ์ ์ฒด์ฑ์ ์ ์งํ ์ ์๊ฒ ํ๋ ๋๊ตฌ์ด๋ค.
์ปดํ์ผ๋ฌ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑ๋ ์์ค ์ฝ๋ → ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๋ณํํ๋ ๋๊ตฌ.
์ด๋ฌํ ๋ณํ ๊ณผ์ ์์ ์ปดํ์ผ๋ฌ๋ ์์ค ์ฝ๋์ ๊ตฌ๋ฌธ๊ณผ ๊ตฌ์กฐ๋ฅผ ๊ฒ์ฌํ์ฌ ๋ฌธ์ ๊ฐ ์๋์ง ํ์ธ์ ํด์ค๋ค.
์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๊ฐ ์์ฑํ ์ฝ๋์ ์ค๋ฅ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฏธ๋ฆฌ ์๋ ค์ฃผ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
์ปดํ์ผ๋ฌ์ ์ญํ
- ํ์
๊ฒ์ฌ : tsc๋ ์์ค์ฝ๋์ ์ ์ ํ์
๊ฒ์ฌ๋ฅผ ์คํํ๋ค.
-> ์ข์ ์ : ํ์ ๊ด๋ จ ์ค๋ฅ๋ฅผ ๋ฏธ์ฐ์ ๋ฐฉ์งํ๊ณ ํด๊ฒฐํ ์ ์๋ค. - ์ฝ๋๋ณํ : tsc๋ TS ์์ JS ๋ก ์ฝ๋ ๋ณํ์ ํด์ฃผ๊ธฐ๋ ํ๋ค.
- ์ปดํ์ผ๋ฌ๋ฅผ ์ดํดํ๋ฉด ๋ณํ๋ ์ฝ๋๊ฐ ์ด๋ป๊ฒ ์คํ์ด ๋ ๊ฑด์ง ์์ธก์ด ๊ฐ๋ฅํ๋ค.
-> ์ด๋ฅผ ํตํด, ๋๋ฒ๊น ๊ณผ์ ์์ ๋์์ ์ป์ ์ ์๋ค. - ์์ค์ฝ๋์์ ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋๋ฉด ๋ฐ๋ก ์๋ฌ๋ฉ์์ง ์ถ๋ ฅ
- ์ต์ ํ : ์ฝ๋๊ฐ ์ต์ ํ๋๋ฉด ์ดํ๋ฆฌ์ผ์ด์ ์คํ์๊ฐ์ด ๋นจ๋ผ์ง๊ณ , ์ปดํ์ผ๋ฌ๋ ์ด๋ฌํ ๋ถ๋ถ์ ์๋์ ์ผ๋ก ๋์์ค๋ค.
์ปดํ์ผ๋ฌ ๋ฑ์ฅ ์ด์
์ปดํจํฐ๊ฐ ์ดํดํ๊ธฐ์๋ ๊ธฐ๊ณ์ด๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ -> ์ธ๊ฐ์ด ๊ธฐ๊ณ์ด๋ก ์์
์ ํ๊ธฐ์๋ ๋ฌด๋ฆฌ ->
์ฐ๋ฆฌ๊ฐ ์์
ํ๊ธฐ ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ณํํ ์ด์ ๊ฐ ์๊น
๊ทธ๋์ ๋ฑ์ฅํ๊ฒ ์ปดํ์ผ๋ฌ.
์ปดํ์ผ๋ฌ๋ ์ธ์ด -> ๊ธฐ๊ณ์ด ์ญํ ์ ํ๋ค.
๊ทธ๋ผ TSC ์ ์ญํ ์ ?
TS ๋ฅผ JS ๋ก ๋ณํ์ ํด์ค๋ค.
JS๋ ๋์ ์ธ์ด(=์ธํฐํ๋ฆฌํฐ ์ธ์ด)์ด๋ค.
TS๋ ์ ์ ์ธ์ด(=์ปดํ์ผ ์ธ์ด)์ด๋ค.
์ปดํจํฐ๊ฐ ํด์์ ์ํด ํ์ํ ์ธ์ด๋ ๊ธฐ๊ณ์ด์ธ๋ฐ, TS๋ฅผ JS๋ก ๋ฐ๊ฟ๋ด์ผ ๋ฌด์จ ์์ฉ?
Node.js ๋๋ Chrome์ ๋ด์ฅ๋ V8 ์์ง์ด ์ด๋ฐ JS๊ฐ์ ๋์ ์ธ์ด๋ฅผ ํด์ํ๊ณ ์คํํ๊ฒ ํด์ค๋ค.
๊ทธ๋์ TSC๋ ์ปดํจํฐ์์์ ์ฝ๋ ์คํ์ ์ํด TS๋ฅผ JS๋ก ๋ณํ์์ผ ์ฝ๋๊ฐ ์คํ๋๊ฒ ๋ง๋ค์ด์ฃผ๋ ์ญํ ์ ํ๋ ๋
์์ด๋ค.
๊ฒฐ๋ก : ์ ์ ์ธ์ด๋ ๊ธฐ๊ณ์ด๋ก ๋ณํ์ด ๋์ด์ผ ์คํ์ด ๊ฐ๋ฅ / ๋์ ์ธ์ด๋ ์์ง์ด ์ฝ๋๋ฅผ ํ ์ค์ฉ ํด์ํ๋ฉด์ ๋์ ์ผ๋ก ์คํ์ด ๊ฐ๋ฅ
TSC ๋ช ๋ น์ด
์ฃผ์ ๋ช ๋ น์ด
tsc --init // tsconfig.json ์์ฑ
tsc <src์ด๋ฆ>.ts // <src>.ts ์ปดํ์ผ
tsc src/*.ts // src ๋๋ ํ ๋ฆฌ ์์ ์๋ ๋ชจ๋ TypeScript ํ์ผ์ ์ปดํ์ผ
tsc index.js --declaration --emitDeclarationOnly
// @types ํจํค์ง๋ฅผ ์ํ .d.ts ํ์ผ ์์ฑ์ ํ๋ ๋ช
๋ น์
๋๋ค!
- TypeScript๋ก ์์ฑ๋ ๋ชจ๋์ด ์๋๋ผ JavaScript๋ก ์์ฑ๋ ๋ชจ๋์ ํ์
์ ์ธ์ ์ ๊ณตํ ๋ ์ ์ฉํ๊ฒ ์ฐ์ฌ์!
#tsc #js #ts #์ปดํ์ผ #์ปดํ์ผ๋ฌ #๊ธฐ๊ณ์ด #๋์ ์ธ์ด #์ ์ ์ธ์ด #v8 #์คํ
'TS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TS] : .d.ts (0) | 2023.08.17 |
---|---|
[TS] : tsconfig.json (0) | 2023.08.17 |
[TS] : Type Script ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ (์์ ํ๋ฉด์ ๋ด์ฉ ์ถ๊ฐ) (0) | 2023.08.14 |
[TS] : Type Script (0) | 2023.08.11 |
[TS] : READ-ONLY (0) | 2023.08.09 |