Javascript์ Typescript
์ธ์ ์ด๋ค ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ข์๊น?
"์์ฆ ๋์ธ๋ ์ญ์ Typescript์ง!" ๋ผ๊ณ ์๊ฐํ์ง.
๊ทผ๋ฐ ์ด๊ฒ ํญ์ ์ ๋ต์ด ์๋ ์ ์๊ฒ ๋๋ผ.
์ต๊ทผ ์๋ฐ์คํฌ๋ฆฝํธ 20๋ ์ฐจ ๊ฐ๋ฐ์์ฒ๋ผ ์ฃผ์๋ค๋ ๋ฒ ์ด๋ผ๋ ์์์ ๋ณด๋ ์ค ๋ง์ง๋ง ๋ถ๋ถ์์ Typescript๊ฐ ์๋ Javascript๋ฅผ ์ฌ์ฉํ๋ ๊ณณ์ด ์๊ฒจ๋๊ณ ์๋ค๊ณ ํ๋๋ผ๊ณ .
๋ง ๊ทธ๋๋ก ํ์ ์ด ์ ์ (์ ํด์ ธ์๋ค)๋ผ๋ ๋ป์ด์ผ. ์๋ฅผ ๋ค์ด์ ์๋์ ๊ฐ์ ํจ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์.
function foo (a, b) {
return a - b;
}
์ด๋ foo๋ง ๋ดค์ ๋, a์ b์ ์ด๋ค ํ์
์ prameter๋ฅผ ๋ฃ์ด์ผํ๋์ง ๋ชจ๋ฅด๋๊น ๋ด๊ฐ ์ํ์ง ์๋ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ์ ์๊ฒ ์ง?
๋ง์ฝ a, b์ ์ด๋ค ํ์
์ ๊ฐ์ ๋ฃ์ด์ผํ๋์ง ์๊ฒ๋๋ฉด, ๊ทธ๋ฆฌ๊ณ ๋ง์ฝ ๋ค๋ฅธ ํ์
์ด ๋ค์ด์์ ๋ ์ปดํ์ผ ์๊ธฐ์ ์๋ฌ๋ฅผ ๋์ด์ฃผ๋ฉด ๊ฐ๋ฐ์ ์
์ฅ์์ ์ค์๋ฅผ ์ค์ผ ์ ์๊ฒ ์ง?
๋ถ๋ช
type์ ๊ฐ์ ํ๋๊ฒ typescript์ ์ฅ์ ์ด์์ง? ํ์ง๋ง ๋ณ๊ฒฝ์ด ๋ง์ ์ด๊ธฐ ๊ฐ๋ฐ ๋จ๊ณ์์๋ ์ด๋จ๊น?
api ๋ฟ๋ง ์๋๋ผ function์ parameter ๋ฑ๋ฑ. ๊ทธ๋๋ง๋ค ๊ฐ๊ฐ์ type๊น์ง ๊ณ ๋ ค ๋ฐ ์์ ํด์ผํ๋ฉด ์ผ์ด 2๋ฐฐ๊ฐ ๋๊ฒ ์ง? ๊ทธ๋์ Typescript๋ณด๋ค ์์ ๋ก์ด Javascript๊ฐ ์ด๊ธฐ์๋ ์ข์ ์ ์์ด.
Typescript๋ก ๊ฐ๋ฐ์ ํ๋ฉด ์ด ์ฝ๋๋ฅผ ๋ค์ Javascript๋ก ๋ณํํ ๋ค, Javascript๋ฅผ ๋ค์ Bytecode๋ก ๋ณํํด ์ฝ๋๋ฅผ ํด์ํ๊ฒ ๋ผ. ์ด๋ Typescript๋ฅผ Javascript๋ก ๋ณํํ ๋ ์ฝ๋๊ฐ ๊ฐํ์ผ ์ ์๊ณ ์ฝ๋์์ด ์ฆ๊ฐํ ์ ์์ด.
๊ฒฐ๋ก ์ ๊ฐ๋ฐ ์ด๊ธฐ์๋ Javascript๊ฐ ์ข์ ์ ์์ด.
ํ์ง๋ง ์ดํ ํ๋ก์ ํธ๊ฐ ์ปค์ง๊ณ ํ๋ก์ ํธ์ ๊ฐ๋ดํ๋ ์ฌ๋๋ค์ด ๋ง์์ง์๋ก ์ค์๋ฅผ ์ค์ผ ์ ์๋ Typescript๊ฐ ์ข์๊ฑฐ์ง.
๊ทธ๋์ ๊ฐ๋ฐ ์ด๋ฐ์๋ javascript๋ฅผ ์ฐ๊ณ , ๋์ค์ ๊ฐ๋ฐ์ด ๋ง๋ฌด๋ฆฌ๊ฐ ๋๋ฉด Typescript๋ก ๋์๊ฐ๋ ๊ฐ๋ฐ์๋ ์๋.
ํ์ฌ ๋ด๊ฐ ๋งก๊ณ ์๋ ํ๋ก์ ํธ๋ ์๋ฌด๊ฒ๋ ์์ ๋ฌด(็ก)์์ ์์ํ์ด.
์ด๋ฐ์๋ ๋น์ฐํ Typescript๊ฐ ์ข์๋ณด์ฌ์ Typescript๋ก ์ฝ๋๋ฅผ ์์ฑํ์ง. ์ง๊ธ๋ Typescript๋ก ์ง๊ณ ์๊ณ .
๊ทผ๋ฐ Javascript ์ฐ๋ ์ฒซ๋ฒ์งธ ์ด์ ๊ฐ ๋๋ฌด ์๋ฟ๋๊ฑฐ์ผ.
api ์คํ์ ์์ฃผ ๋ฐ๋๊ณ ์ถ๊ฐ๋๋๋ฐ ๊ทธ๋๋ง๋ค ์ธํฐํ์ด์ค ์์ ํด์ค์ผํ๋๋ฐ ์ด๊ฒ ์๊ทผ ๊ท์ฐฎ๊ฑฐ๋ .
๊ทธ๋๋ ๋ด ๊ฒฝ์ฐ์๋ ๋ฐฑ์๋ ๋ฐ์ดํฐ ์ค๊ณ๋ ๋ชจ๋ ํ์ ํ๊ณ ์๊ณ api ์คํ๋ ์ง์ ์ ํ๊ณ ์์ด์ ์๊ฐ๋ณด๋ค ๋ณ๊ฒฝ์ด ๋ง์ด ์ผ์ด๋์ง๋ ์์. ๊ทธ๋์ ๋ด ์ํฉ์์๋ Typescript๋ฅผ ์ฌ์ฉํ๋๊ฒ ๋ ํธํ๋๋ผ๊ณ .
Typescript๋ฅผ ์ฌ์ฉํ ์ง Javascript๋ฅผ ์ฌ์ฉํ ์ง๋ ํ๋ก์ ํธ์ ํน์ฑ๋ง๋ค ๋ฌ๋ผ์ง๋ ๊ฒ ๊ฐ์.
โถ์๋ฐ์คํฌ๋ฆฝํธ 20๋
์ฐจ ๊ฐ๋ฐ์์ฒ๋ผ ์ฃผ์๋ค๋ ๋ฒ
https://youtu.be/ORmnc-hLrYs