์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ํ์ค
- ๋ถํธ์บ ํ
- type
- ํ๋ก ํธ์๋
- ๋ด์ผ๋ฐฐ์์บ ํ
- ์๊ณ ๋ฆฌ์ฆ
- ํ์
- ํจ์
- K-Digital
- ๊ฐ๋ฐ์
- Firebase
- wil
- NEXT
- JavaScript
- react
- ์๋ฌ
- ํ๋ก์ ํธ
- ์๋ฐ์คํฌ๋ฆฝํธ
- trainning
- Redux
- ๋ฆฌ์กํธ
- ์ฝ๋ฉ
- ๋ณ์
- JS
- API
- PROJECT
- ์จ๋ผ์ธ
- ๋ด์ผ๋ฐฐ์
- native
- rn
- Today
- Total
Frontend ๊ฐ๋ฐ์ - hyo.loui
ํ์ ์คํฌ๋ฆฝํธ - ๊ฐ๋ ๊ณผ ํ๊ฒฝ ์ธํ ๋ณธ๋ฌธ
๐ฏ๋ชฉ์ :
Typescript : (ํ์ต๋ ธํธ) ๊ฐ๋
Typescript : ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ ์์ ์ปดํ์ผ ๊ณผ์ ๊น์ง
1. ํ์ ์คํฌ๋ฆฝํธ๋?
์ฐ๋ฆฌ๊ฐ ๊ธฐ์กด์ ์ฌ์ฉํ๋
javascript๋ ๋์ ํ์ ์ด์ง๋ง,
typescript๋ ์ ์ ํ์ ์ด๋ค.
์์ฐ์ฑ(์ ์ง๋ณด์)๊ณผ ํธ์๋ฅผ ์ํด ํ์ ์ ์ถ๊ฐํ ์ธ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
ms ์์ ๊ฐ๋ฐํ์๊ณ , ๊พธ์คํ ์ธ๊ธฐ์ ์์๊ฐ ์์นํ๊ณ ์๋ค.
2. Time
Javascript๋ ๋ณ์์ ํ์ ์ด ๋ฐํ์์ ๊ฒฐ์ ๋๋ค
Typescript๋ ๋ณ์์ ํ์ ์ด ์ปดํ์ผํ์์ ๊ฒฐ์ ๋๋ค
์ปดํ์ผํ์? ๋ฐํ์?
- ์ปดํ์ผ ํ์ (compile time) : ์์ฑํ ์์ค์ฝ๋๊ฐ ์ด๋ ํ ๊ฒ(js, binary ๋ฑ)์ผ๋ก ๋ณํ๋๋ ๊ณผ์
- ๋ฐํ์ : ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๊ณผ์
IDE(VS Code)์์๋ ์ปดํ์ผ ํ์์์ ์๋ฌ๊ฐ ๋ ์ํฉ์ ๋นจ๊ฐ์ค๋ก ๋ฏธ๋ฆฌ ์๋ ค์ค๋ค.
๋ฐ๋ผ์ Javascript๋ ์ฌ๋ฌ๋ถ์ react ํ๋ก์ ํธ๋ฅผ ์คํํ๊ธฐ์ ์ด๋ค ์ค๋ฅ๊ฐ ์์ ์ง ์ ์ ์์ผ๋, Typescript๋ ์๋ฌ๊ฐ ๋ ์ํฉ์ ๋ฏธ๋ฆฌ ์ฌ๋ฌ๋ถ์ IDE(vscode)๊ฐ ์๋ ค์ค๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ ์ฐ๋ฆฌ๊ฐ ์ค์ ๋ก ๋์์ ํด์ผ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ ์ ์์ง๋ง,
ํ์ ์คํฌ๋ฆฝํธ์ ๊ฒฝ์ฐ๋ ์ปดํ์ผ์ด ๋๊ธฐ ์ ๊ฐ๋ฐ ๊ณผ์ ์์ ๋ฏธ๋ฆฌ ์๋ฌ๋ฅผ ๋ฐ๊ฒฌํ ์ ์๋ค.
3. Typescript๋ฅผ ์ ์ธ๊น?
๋น๊ต | ์ฅ์ | ๋จ์ |
typescript |
|
1. Javascript์ ๋นํด ์ด๋ ต๋ค |
javascript | 1. ๋ค๋ฅธ ์ธ์ด์ ๋นํด ์ฝ๋ค 2. ์ ์ ์์ ์ฝ๋ฉ์ ํ ๋ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๊ฐ๋ฅ |
1. ๋ฐํ์ ์ ์ค๋ฅ๊ฐ ๊ฒ์ถ 2. ํ๋ก์ ํธ ์ฌ์ด์ฆ๊ฐ ์ปค์ง๋ฉด ์ ์ง๋ณด์๊ฐ ์ด๋ ต๋ค |
4. ์์ฐ์ฑ(์ ์ง๋ณด์)๊ฐ ์ ์ ๋ฆฌํ ๊น?
์๋ ์ฝ๋๋ฅผ typescript์ ์์ฑ๊ณผ ๋์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค,
ํ์ง๋ง javascript์์๋ ์คํํด์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
const me = {
name: 'seunghyo',
gender: 'man',
};
console.log(person.age);
- ์๋ฌ ๋ฐ์
- ์ ์ ํ์ ์ธ์ด์ธ TS๋ IDE(vsc)์์ person์ ํ์ ์ ์๊ธฐ์ ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค.
- ๋์ ํ์ ์ธ์ด์ธ JS๋ IDE(vsc)์์ ์ ์ ์๋ค.
- ์๋ ์์ฑ ๊ธฐ๋ฅ์ ์ง์ํ๊ธฐ ๋๋ฌธ์ ์คํ, ๋น ๋ฅธ ์ฌ์ฉ์ฑ์ ์ ๊ณต๋ฐ๋๋ค
5. ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ >> ์ปดํ์ผ
ํฐ๋ฏธ๋์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ์ค์น๋ฅผ ์งํํ๋ค
// ์ฌ์ฉํ ํ๋ก์ ํธ์ ์ค์นํ ๊ฒฝ์ฐ
npm install typescript
// ์ ์ญ(๋ด ์ปดํจํฐ)ํ๊ฒฝ์ ์ค์นํ ๊ฒฝ์ฐ
npm install -g typescript
ํฐ๋ฏธ๋์ ์๋ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ์ฌ
์์
ํด๋ ๋ด๋ถ์ 'typescirpt compiler' ์ค์นํ๋ค
npx tsc --init
๊ฒฐ๊ณผ ํ๋ฉด(ํฐ๋ฏธ๋) :
ํฐ๋ฏธ๋์ ์์ฒ๋ผ ์ถ๋ ฅ๋๋ฉด ์ ์์ ์ผ๋ก ๊ฐ๋ฐ ํ๊ฒฝ์ด ์ธํ ๋ ๊ฒ์ด๋ค!
์ปดํ์ผ ๊ณผ์ ์ ๋ฌด์ฒ ์ฝ๋ค!
์ด์ ํด๋ ๋ด๋ถ์
'ํ์ผ์ด๋ฆ.ts' ๋ฅผ ์์ฑ ํ ๋ณธ์ธ์ ์์ ์ ๋ง์น๊ณ ,
npx tsc
์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด,
๊ธฐ์กด์ tsc ๋ช
๋ น์ด๋ก ์์ฑํ tsconfig.json๊ณผ
๋ด๊ฐ ์์
ํ hello.ts์ hi.ts ์ด๋ ๊ฒ ์ธ๊ฐ์ง๋ฅผ ๋ง๋ค์์ง๋ง,
๋ด๊ฐ ์์ฑํ์ง ์์ JSํ์ผ์ด ์๊ธฐ๊ณ
js ํ์ผ์ ์ด์ด๋ณด๋ฉด ์์ํ ๊ตฌ๋ฌธ์ผ๋ก
์ปดํ์ผ์ด ๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.
์ต์ข ์ ๋ฆฌ
- ์๋ฐ์คํฌ๋ฆฝํธ == ๋์ ํ์ , ํ์ ์คํฌ๋ฆฝํธ == ์ ์ ํ์
- Typescript๋ ๋ณ์์ ํ์ ์ด ์ปดํ์ผํ์์ ๊ฒฐ์ ๋๋ค
- ํ์ ์คํฌ๋ฆฝํธ๋ ์๋ฌ๋ฅผ ๋ฏธ๋ฆฌ ๋ฐ์ํด์ฃผ๋ฉฐ ์๋์์ฑ ๊ธฐ๋ฅ์ผ๋ก ์์ฐ์ฑ ํฅ์
- [ํ๊ฒฝ์ธํ ] ํ๋ก์ ํธ, ์ ์ญ์ typescript ์ค์น(install) >> ์ปดํ์ผ๋ฌ(tsc) ์ค์น >> ์ปดํ์ผ(npx tsc)
'Typescript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ ์คํฌ๋ฆฝํธ - Type Alias (ํ์ ๋ณ์นญ) (0) | 2023.01.18 |
---|---|
ํ์ ์คํฌ๋ฆฝํธ - Union (์ ๋์จ) ํ์ (0) | 2023.01.17 |
ํ์ ์คํฌ๋ฆฝํธ - Enum (์ด๋) (0) | 2023.01.17 |
ํ์ ์คํฌ๋ฆฝํธ - Function (ํจ์) ํ์ (0) | 2023.01.17 |
ํ์ ์คํฌ๋ฆฝํธ - ๊ธฐ๋ณธ ํ์ (0) | 2023.01.17 |