๐ TypeScript ๋?
JavaScript + Type = TypeScript
๋ง์ดํฌ๋ก์ํํธ์์ ๊ตฌํํ JavaScript์ ์์ ํ์ฅ(Superset) ํ๋ก๊ทธ๋๋ฐ ์ธ์ด.
- ๋ง์ดํฌ๋ก์ํํธ์์ ๋ฐํํ ์คํ ์์ค
- ES6์ Class, module ๋ฑ๊ณผ ES7์ Decorator ๋ฑ์ ์ง์
- ํ์ฅ์๋ก๋ .ts๋ฅผ ์ฌ์ฉํ๋ค.
- ์ปดํ์ผ์ ๊ฒฐ๊ณผ๋ฌผ๋ก JavaScript ์ฝ๋๋ฅผ ์ถ๋ ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ต์ข ์ ์ผ๋ก runtime์์๋ ์ด๋ ๊ฒ ์ถ๋ ฅ๋ JavaScript ์ฝ๋๋ฅผ ๊ตฌ๋์ํจ๋ค.
๐ TypeScript์ ํน์ง
์ ์ ํ์ ์ ๋ช ์ํ ์ ์๋ค๋ ๊ฒ์ด Vanilla Javascript์์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ด๋ค.
์ฆ, 'JavaScript๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ๊ธฐ ์ ์ ์์๋งํ type ERROR๋ค์ ๋ฏธ๋ฆฌ ์ก๋ ๊ฒ' ์ด Typescript์ ์ฌ์ฉ ๋ชฉ์ ์ด๋ค.
๐๐ป ์ ์ ํ์ & ๋ช ์์ ์ธ ํ์
๊ฐ๋ฐ ๋๊ตฌ(IDE๋ ์ปดํ์ผ๋ฌ ๋ฑ)์๊ฒ ๊ฐ๋ฐ์๊ฐ ์๋ํ ๋ณ์๋ ํจ์ ๋ฑ์ ๋ชฉ์ ์ ๋์ฑ ๋ช
ํํ๊ฒ ์ ๋ฌํ ์ ์๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋์ ๊ฐ๋
์ฑ์ ๋์ด๊ณ ์์ธกํ๊ธฐ๊ฐ ์ฉ์ดํ๋ฉฐ ๋๋ฒ๊น
์ ํ๊ธฐ์ ํธ๋ฆฌํ๋ค.
์ปดํ์ผ ๋จ๊ณ์์ ERROR๋ฅผ ํฌ์ฐฉํ ์ ์๋ค๋ ๊ฒ๋ ํฐ ์ฅ์ ์ด๋ค.
๐๐ป ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ง์
๐๐ป ERROR์ ์ฌ์ ๋ฐฉ์ง
TypeScript๋ ์ ์ ํ์ ์ ์ง์ํ๋ฏ๋ก ์ปดํ์ผ ๋จ๊ณ์์ ์๋ฌ๋ฅผ ์ฝ๊ฒ ์ก์๋ผ ์ ์๋ค.
// JavaScript
function sum(a, b) {
return a + b;
}
sum(10, 20); // ๐๐ป
// TypeScript
function sum(a: number, b: number) {
return a + b;
}
sum('10', '20') // ๐ฉ
์ด์ฒ๋ผ ์๋ํ์ง ์์ ์ฝ๋์ ๋์์ ์ฌ์ ์ ์๋ฐฉํ ์ ์๋ค.
๐๐ป ๊ฐ๋ฐ ํด & ๋๊ตฌ์ ์ง์
TypeScript๋ ์ฝ๋๋ฅผ ์์ฑํ ๋ ๊ฐ๋ฐ ํด์ ๊ธฐ๋ฅ์ ์ต๋๋ก ํ์ฉํ ์ ์๋ค. ํนํ Visual Studio Code๋ TypeScript์ ์ต์ ํ ๋์ด ์๋ ํด์ด๋ค.
๋ค์ํ IDE๋ค์ด TypeScript๋ฅผ ์ง์ํ๊ณ ์์ง๋ง, ์ญ์ TypeScript์ ์ ์์ฌ์ธ ๋ง์ดํฌ๋ก์ํํธ์ Visual Studio Code์์ ์ ํฉ์ฑ์ด ๊ฐ์ฅ ํ๋ฅญํ๋ค๊ณ ํ๊ฐ๋ฐ๊ณ ์๋ค.
๐๐ป ์์ฐ์ฑ ํฅ์
๊ฐ๋ฐ์์ ๋๊ตฌ ๊ฐ์ ์ํธ์์ฉ์์ ๋ฟ๋ง ์๋๋ผ ๊ฐ๋ฐ์ ๊ฐ์ ์ํธ์์ฉ์์๋ ์๋นํ ์ด์ ์ด ์๋๋ฐ, API๋ฅผ ๊ตฌํํ๊ณ ์ฌ์ฉํจ์ ์์ด ํด๋น API์ input๊ณผ output์ด ๋ฌด์์ธ์ง ๋ช ํํ๊ฒ ํํํ ์ ์์ผ๋ฏ๋ก API ํ๋ ์ฐ๋๋ฐ์๋ ์ผ์ผ์ด ๋งค๋ด์ผ์ ์ฐพ์๋ด์ผ ํ๊ฑฐ๋ ์ฌํ๋ฉด ํด๋น API์ ์ฝ๋๊น์ง ๋ค์ ๊ฑฐ๋ ค๋ด์ผ ํ๋ JavaScript์ ๋นํด ํจ์จ์ ์ด๋ค.
๐ ์ค์นํ๋ ๋ฒ
TypeScript๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ฐ์ npm์ด ํ์ํ๋ค!! Node.js๋ฅผ ์ค์นํ๋ฉด npm์ด ์๋์ผ๋ก ์ค์น๋๋ค. (react๋ฅผ ์ฌ์ฉํ์ ๋ถ๋ค์ด๋ผ๋ฉด ๋ค ๊น๋ ค ์์ ๊ฒ์ด๋ค...ใ
)
๊ทธ ํ์ ์๋์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ค.
npm i -g typescript
์ฐธ๊ณ ์ฌ์ดํธ
๐๐ป TypeScript ๋๋ฌด์ํค ๋ฌธ์
๐๐ป TypeScript ๊ณต์๋ฌธ์ ๋ฒ์ญ๋ณธ
'JavaScript > TypeScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๋๋ก์ด๋ฉด ์ฐ์ง ๋ง์์ผ ํ ? type (0) | 2021.11.15 |
---|---|
Type Alias (0) | 2021.11.15 |
๋๊ธ