ํ์
์คํฌ๋ฆฝํธ๋ฅผ ์ ํ๊ฑด ๊ณ ํผ์์์ ํ๋ฌ๊ฐ ๊ธฐ์
ํ์
์ ๋๊ฐ์์๋ค. ํ์
์คํฌ๋ฆฝํธ๋ฅผ ๊ธฐ์ ์คํ
์ผ๋ก ์ฐ๋ ํ์ฌ์๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ฐ๋ฉด์ ํ๋ก์ ํธ์ ๋ฐ๋ก๋ฐ๋ก ์ ์ฉํ๊ธฐ ๋ฐ๋นด๋ค. ๋๋ถ์ ๋ด ์ด๋ ฅ์ ๊ธฐ์ ์คํ
์ ํ์
์คํฌ๋ฆฝํธ๊ฐ ๋ค์ด๊ฐ์๋ค. ๊ธฐ์
ํ์
๋น์์ ํ๋ก์ ํธ์ ์ง์คํ๊ณ , ๊ธฐ๋ฅ๊ตฌํํ๊ธฐ ๋ฐ๋นด๊ธฐ ๋๋ฌธ์ ํ์
์คํฌ๋ฆฝํธ๋ฅผ ์์ฐ๋์ง, ์ฅ๋จ์ ์ด ๋ฌด์์ธ์ง๋ ๋ชฐ๋๋ค. ์ทจ์
์ค๋น๋ฅผ ํ๊ณ ์๋ ์ง๊ธ ๋ฉด์ ์ ๋ณด๋ฉด ํ์
์คํฌ๋ฆฝํธ์ ๋ํ ์ง๋ฌธ์ ์์์ด ๋ฐ๋๋ค.
๊ทธ๋์ ๋ฐ๋ก ์ ๋ฆฌํด ๋ณด๊ณ ์ ํ๋ค.
ํ์ ์คํฌ๋ฆฝํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋์ฒดํ๊ธฐ ์ํด ๋์จ๊ฒ ์๋๋ผ ๋ณด์ํ๊ธฐ ์ํด ๋ฑ์ฅํ์๋ค. ํ๊ฐ์ง ์๋ก ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋์ ์ธ ํ์ ์ผ๋ก์จ ํ์ ์ ๋ํด ๊ด๋ํ๋ค. ๋ฐ๋ผ์ ์ค๋ฅ์ ์์ ๋ก์ธ์ ์๋ค.
ํ์ ์ฒดํฌ, interface ์ง์๋ฑ์ผ๋ก ์ธํด Typescript๋ ๋๊ท๋ชจ ํ๋ก์ ํธ์ ์ข ๋ ์ ํฉํ ์ธ์ด๊ฐ ๋ ์ ์๋ค.
C#๊ณผ Java๊ฐ์ ์ฒด๊ณ์ ์ด๊ณ ์ ์ ๋ ์ธ์ด๋ค์์ ์ฌ์ฉํ๋ ๊ฐํ ํ์ ์์คํ ์ ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ฝ๋ ํ์ง๋ฑ์ ์ ๊ณตํ ์ ์๊ณ , ๋ฐํ์์ด ์๋ ์ปดํ์ผ ํ๊ฒฝ์์ ์๋ฌ๊ฐ ๋ฐ์ํด ์น๋ช ์ ์ธ ์ค๋ฅ๋ค์ ๋์ฑ๋ ์ฝ๊ฒ ์ก์๋ผ ์ ์๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ ํ์ ์์คํ ์ด ์๋ ๋์ ์ธ์ด๋ก ์๋ฐ์คํฌ๋ฆฝํธ ๋ณ์๋ ๋ฌธ์์ด, ์ซ์, ๋ถ๋ฆฐ ๋ฑ ์ฌ๋ฌ ํ์ ์ ๊ฐ์ ๊ฐ์ง ์ ์๋ค. ๋น๊ต์ ์ ์ฐํ๊ฒ ๊ฐ๋ฐํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ ํํธ ๋ฐํ์ ํ๊ฒฝ์์ ์ฝ๊ฒ ์๋ฌ๊ฐ ๋ฐ์ ํ ์ ์๋ ๋จ์ ์ ๊ฐ์ง๋ค.
ํ์ ์คํฌ๋ฆฝํธ๋ ์ด๋ฌํ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐํ ํ์ ์์คํ ์ ์ ์ฉํด ๋๋ถ๋ถ์ ์๋ฌ๋ฅผ ์ปดํ์ผ ํ๊ฒฝ์์ ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ ๋์ ์ฒดํฌ ํ ์ ์๋ค.
1. ์ ์ ํ์
2. ๋๊ตฌ์ ์ง์
3. ๊ฐ๋ ฅํ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ง์
4. ES6/Es Next์ง์
TypeScript ํ์ผ(.ts)์ ๋ธ๋ผ์ฐ์ ์์ ๋์ํ์ง ์์ผ๋ฏ๋ก TypeScript ์ปดํ์ผ๋ฌ๋ฅผ ์ด์ฉํด ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ๋ก ๋ณํํด์ผ ํ๋ค. ์ด๋ฅผ ์ปดํ์ผ ๋๋ ํธ๋์คํ์ผ๋ง์ด๋ผ ํ๋ค.
https://mygumi.tistory.com/210
https://medium.com/@wonjong_oh/typescript-1-%ED%83%80%EC%9E%85%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-f4b02f54009c