๐ TypeScript ๋?
TypeScript๋ ์ ์ ํ์
์ธ์ด์ด๋ฉฐ ๋์ ํ์
์ธ์ด์ธ JavaScript์ ๋ณด์ํด์ ์ ์ ํ์
๋ฌธ๋ฒ์ ์ถ๊ฐํ 'ํ๋ก๊ทธ๋๋ฐ ์ธ์ด' ์
๋๋ค.
JavaScript์ ์ํผ ์
, ์ฆ ์์ ํ์ฅ์๋ก JavaScript ์์ง์ ์ฌ์ฉํ๋ฉฐ ์์ ์ด ์ํ๋ ๋ณ์์ ํ์
์ ์ ์ํ๊ณ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ฉด JavaScript๋ก ์ปดํ์ผ๋์ด ์คํํ ์ ์์ต๋๋ค.
TypeScript๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋
- ์ค๋ฅ๋ฅผ ์ฌ์ ์ ๋ฐฉ์งํ ์ ์๋ค.
- ์ฝ๋์ ์๋์์ฑ ๋ฐ ๊ฐ์ด๋๋ฅผ ๋ฐ์์ ์๋ค.(์์ฐ์ฑ ํฅ์)
๐ก TypeScript์ ํน์ง
๐ ์ ์ ํ์
- ์ปดํ์ผ์ ํ๋ ๊ณผ์ ์์ ํ์
์ ๊ฒฐ์ ํ๊ฒ ๋๋ค.
- ์ปดํ์ผ์ ์๋ฃํ์ ๋ง์ง ์๋ ๊ฐ์ด ๋ค์ด๊ฐ๋ฉด ์ปดํ์ผ ์๋ฌ๋ฅผ ๋ฐ์ ์ํจ๋ค.
ํ์ง๋ง TypeScript๋ ์ปดํ์ผ ๊ณผ์ ์์ ํ์
์ ์ง์ ํ๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ ์๋ฌ๋ฅผ ์๋ฐฉํ ์ ์์ ๋ฟ ์๋๋ผ, ์์ฌ์ด ๋๋ฒ๊น
์ด ๊ฐ๋ฅํ๋ค.
๐ ๊ฐ์ฒด ์งํฅ
- TypeScript๋ ํด๋์ค, ์ ๋ค๋ฆญ, ์ธํฐํ์ด์ค, ๋ชจ๋ ๋ฑ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ ๊ณตํ์ง ์๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋ฆฌ๋งน(OOP)์ ๊ธฐ๋ฅ์ ์ง์ํ๋ค.
- ํฌ๊ณ ๋ณต์กํ ํ๋ก์ ํธ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๊ตฌ์ฑ ํ ์ ์๊ณ ๊ฐ์ฒด ์งํฅ ์ธ์ด์ ์ต์ํ ๊ฐ๋ฐ์๊ฐ JavaScript ํ๋ก์ ํธ๋ฅผ ์ํํ๋๋ฐ ์ง์
์ฅ๋ฒฝ์ ๋ฎ์ถฐ์ค๋ค.
๐ IDE ์ง์
- IDE(ํตํฉ๊ฐ๋ฐํ๊ฒฝ, Integrated Development Environment)์ ํฌํจํ ๋ค์ํ ๋๊ตฌ์ ์ง์์ ๋ฐ์ธ ์ ์๋ค.
- ์ฝ๋ฉ, ๋๋ฒ๊ทธ, ์ปดํ์ผ, ๋ฐฐํฌ ๋ฑ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ๊ด๋ จ๋ ๋ชจ๋ ์์
์ ํ๋์ ํ๋ก๊ทธ๋จ ์์์ ์ฒ๋ฆฌํ๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด
- ๋ํ์ ์ธ IDE : VScode, Eclipse
๐ ES6+ ๊ธฐ๋ฅ ์ง์

- ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ(ECMAScript)๋ฒ์ ์์ ์ถ๊ฐ๋ ๊ธฐ๋ฅ๋ค์ ๋ชจ๋ ์ง์ํฉ๋๋ค.
- ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ์ต์ ๊ธฐ์ ์ ํ์ฉํ๋ฉฐ ๋ ๊ฐ๊ฒฐํ๊ณ ๊ฐ๋
์ฑ ์ข์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
๐ JavaScript ํธํ์ฑ
- TypeScript๋ JavaScript์ 100% ํธํ๋๋ค. ๋ฐ๋ผ์ JavaScript๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ณณ์ด๋ผ๋ฉด TypeScript๋ ์ธ ์ ์๋ค.
- ์์ ๊ฐ์ ํน์ง์ผ๋ก JavaScript๋ฅผ ์ฌ์ฉํ ํ๋ก์ ํธ๋ฅผ TypeScript๋ก ์ ์ง์ ์ผ๋ก ์ ํํ ์ ์๋ค.
๐ก TypeScript์ ๋จ์
๐ ํ์ต ๋์ด๋
- TypeScript๋ ํ์
์ ์ ํ์ ๋ฐ์ ์๋ฃํ์ ๋น๋กฏํ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ตํ์ผ ํ๊ธฐ์ JavaScript๋ณด๋ค ๋ฐฐ์ฐ๊ธฐ ์ด๋ ต๋ค.
- ํ์ง๋ง ํ์
์ด ์ ํด์ ธ ์๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ํ์
ํ ์ ์์ต๋๋ค.
๐ ์ด๊ธฐ ์ธํ
์ ์ด๋ ค์
- TypeScript๋ ๋
์์ ์ธ ์ธ์ด๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด์ JavaScript ์์ง์์ ์คํ๋ฉ๋๋ค.
- ์ด๋ฅผ ์ํด ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์นํด์ผ ํ๋ ๋ชจ๋๋ค์ด ์๊ณ , ์ปดํ์ผ์ ์ํ ์ต์
๋ค๋ ์ค์ ํด์ผ ํฉ๋๋ค.
- ์ด๋ฅผ ๋ณด์ํ๊ธฐ์ํด 'Create React App', 'Vue CLI', 'Anqualr CLI' ๋ฑ ์ด๊ธฐ ์ธํ
๋๊ตฌ๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
๐ ํ์
์ง์ ์ผ๋ก ์ธํ ์์ฐ์ฑ ์ ํ ์ฐ๋ ค
- ๋งค๋ฒ ํ์
์ ์ง์ ํด์ค์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์๊ณผ ํ์
์ด๋
ธํ
์ด์
์ผ๋ก ์ธํ ํ์
์๋ฌ๋ก ์ค์ ๊ฐ๋ฐ๋ณด๋ค ํ์
์ ์ง์ ํ๋๋ฐ ์๊ฐ์ ๋ ํ ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ด๋ด ๊ฒฝ์ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ ํ๋ ์์ํฌ๋ฅผ ํ์ฉํ๋ค๋ฉด ์์ฐ์ฑ ์ ํ๋ฅผ ๋ณด์ํ ์ ์๋ค.
โญ ๊ฒฐ๋ก
- ์๋ฌ์๋ฐฉ, ๋๋ฒ๊น
์ด ์ฝ๋ค.
- IDE(ํตํฉ๊ฐ๋ฐํ๊ฒฝ)์ ํฌํจํ ๋ค์ํ ๋๊ตฌ์ ์ง์์ ๋ฐ์ ์ ์๋ค.
- ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ง์ํ๊ณ ๊ทธ๋ก์ธํด ๊ฐ์ฒด ์งํฅ ์ธ์ด๋ฅผ ๊ธฐ๋ฐํ๋ ๊ฐ๋ฐ์์ ์ง์
์ฅ๋ฒฝ์ ๋ฎ์ถฐ์ค๋ค.
๐ TypeScript์ ํธํ์ฑ์ด ์ข์ Library 'React'
- Facebook(ํ Meta) ์์ ๋ง๋ JavaScript UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค.
- ๋ณต์กํ๊ณ ๋์ ์ธ ์น ํ์ด์ง UI ๊ฐ๋ฐ์ ์ด์ ์ ๋ง์ถ ํ๋ก ํธ์ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
- ์ค์๊ฐ ๋์๋ณด๋, ์์
๋ฏธ๋์ด ์ ํ๋ฆฌ์ผ์ด์
, ์ ์์๊ฑฐ๋ ํ๋ซํผ ๋ฑ์ ๋ง์ด ์ฌ์ฉ๋๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ ์์ํฌ์ ๋ฌ๋ฆฌ ๊ฐ๋ฐ์๊ฐ ์ฝ๋์ ํ๋ฆ๊ณผ ์ ์ด๋ฅผ ์ง์ ๊ด๋ฆฌํ๋ค.
- ํ๋ฐํ๊ณ ๋ค์ํ ์ปค๋ฎค๋ํฐ ์ํ๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ ๋ฌธ์ ํด๊ฒฐ์ ์ํ ์๋ฃ์ ์ง์์ ์ฝ๊ฒ ์ป์ ์ ์๋ค.
์ฐธ์กฐ : TypeScript ์ฌ์ฉํ๋ ์ด์ , ํ์ง ์น ๊ฐ๋ฐ๊ฐ ์๋ ค๋๋ฆฝ๋๋ค!
์ฐธ์กฐ : [TypeScript] ํ์
์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ญ๊น?
์ฐธ์กฐ : ํ์
์คํฌ๋ฆฝํธ์ ์ ์