Javascript๋ Java ๊ณ์ด์ ๋ฌธ๋ฒ์ ์ฐจ์ฉํ๋ฉด์๋ type์ด๋ class ๊ฐ์ด ๋ณต์ก์ฑ์ ์ผ๊ธฐํ๋ ๋ถ๋ถ๋ค์ ์ ๊ฑฐํจ์ผ๋ก์จ ๊ฐ๊ฒฐํ ๋ฌธ๋ฒ์ ๊ฐ์ง๋ prototype ๊ฐ์ฒด ๊ธฐ๋ฐ ํจ์ํ ๋์ ํ์ ์คํฌ๋ฆฝํธ ์ธ์ด์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ํ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฌธ๋ฒ์ด ๋จ์ํ๊ณ ์ ์ฐํ ์ฒด๊ณ๋ฅผ ๊ฐ์ง๋ค๋ ์ฅ์ ์ด ์์ง๋ง ์ด๋ฌํ ์ ์ ๋๊ท๋ชจ ํ์ ์๋ ์ ํฉํ์ง ์์๊ณ , ๋น๋ ์ ์ ๋ฏธ๋ฆฌ ์ค๋ฅ๋ฅผ ๊ฒ์ฆํ๋ ์ ์ ํ์ ์ธ์ด์ ์ฅ์ ์ด ๊ฒฐํฉ๋ Typescript๊ฐ ๋ฑ์ฅํ๊ฒ ๋์๋ค.
Javascript๋ ES4(ECMAScript4) ์์ Typescript์ ์ ์ฌํ๊ฒ ์ ์ ํ์ดํ, ์ธํฐํ์ด์ค, ์ ๋ค๋ฆญ ๋ฑ์ ๊ฐ๋ ์ ๋์ ํ์์ผ๋ ๊ธฐ์กด javascript์ ์ฒด๊ณ๋ฅผ ์ ์ ํ์ ๊ธฐ๋ฐ ์ธ์ด ์ฒด๊ณ๋ก ๋ฐ๊พธ๋ ๊ฒ์ ๋๋ฌด ๋ง์ ๋ณํ์ ํ์ ํธํ์ฑ ์ ์ง์ ์ด๋ ค์ ๋๋ฌธ์ ํ๊ธฐ๋์๋ค๊ณ ํ๋ค.
if ("" == 0) {
// ์ฐธ
}
==
์ฐ์ฐ์์ ""๋ falsyํ ๊ฐ(ex: false, '', null, undefined, 0, NaN ๋ฑ)์ด๋ฏ๋ก false๋ก ์ทจ๊ธ๋๋ฉฐ, false๋ number ํ๊ณผ ๋น๊ต ์ 0์ผ๋ก ํ๋ณํ๋๊ธฐ ๋๋ฌธ์ "" == 0
์กฐ๊ฑด๋ฌธ์ ๊ฒฐ๊ณผ๋ true์ด๋ค.
if (1 < x < 3) {
// ํญ์ ์ฐธ์ด๋ค.
}
์์ ์กฐ๊ฑด๋ฌธ์ (1 < x) < 3
์ผ๋ก ์ฐ์ฐ๋๋๋ฐ, ์๋ฅผ ๋ค์ด 1 < x
๊ฒฐ๊ณผ๊ฐ true์ผ ๊ฒฝ์ฐ true < 3
์ ์ฒดํฌํด์ผ ํ๊ณ , ์ด ๋ boolean ํ์ ๊ฐ์ number ๊ฐ๊ณผ ๋น๊ตํ ๊ฒฝ์ฐ true๋ 1, false๋ 0์ผ๋ก ๋ณํ๋์ด ๊ณ์ฐ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ x๊ฐ ์ด๋ค ๊ฐ์ด๋๋ผ๋ boolean ํ์ 1๋๋ 0์ ์ซ์๋ก ๋ณํ๋์ด ์์ ์กฐ๊ฑด๋ฌธ์ ํญ์ ์ฐธ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ์ ๋ฐ์ ์๋ ๊ฒ์ด๋ค.
const obj = { width: 10, height: 15 };
const area = obj.width * obj.heigth; //์ค๋ฅ๊ฐ ๋์ง ์๊ณ NaN๋ฐํ
Typescript๋ Javascript ๊ธฐ๋ฐ์ ์ ์ ํ์ ์ธ์ด๋ก์, JS ๊ตฌ๋ฌธ์ด ํ์ฉ๋๋ Javascript์ ์์ ์งํฉ(superset) ์ธ์ด์ด๋ฉฐ ํ๋ก๊ทธ๋จ์ ์คํ์ํค๊ธฐ ์ ์ ํ์ ์ ๊ฒ์ฌํ๋ ์ ์ ํ์ ๊ฒ์ฌ์์ด๋ค.
* ์ ์ ๊ฒ์ฌ : ํ๋ก๊ทธ๋จ์ ์คํ์ํค์ง ์๊ณ ์ฝ๋์ ์ค๋ฅ๋ฅผ ๊ฒ์ถํ๋ ๊ฒ์ฌ
* ์ ์ ํ์
๊ฒ์ฌ : ํ๋ก๊ทธ๋จ์ ์คํ์ํค๊ธฐ ์ ์ ๊ฐ์ ์ข
๋ฅ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์ค๋ฅ๋ฅผ ๊ฒ์ถ.
ํ์ ์คํฌ๋ฆฝํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์์ ์งํฉ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ค์ ํธํ๋๋ฉฐ ๊ธฐ์กด ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ํ์ ์คํฌ๋ฆฝํธ ์ฝ๋๋ก ๋ณํํ๊ธฐ ์ํ ๋ ธ๋ ฅ์ด ์ ๊ฒ ๋ ๋ค.
ํ์ ์คํฌ๋ฆฝํธ๋ ์ ์ ํ์ ์์คํ ์ด๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ธฐ ์ด์ ์ ์๋น์์ ์ค๋ฅ๋ฅผ ์ก์๋ด์ด ๋ฒ๊ทธ๋ฅผ ์๋ฐฉํ ์ ์๋ค.
๋ช ์์ ์ธ ํ์ ์ง์ ์ ํตํด์ ์ฝ๋์ ์๋๋ฅผ ์ข ๋ ๋ช ํํ๊ฒ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฝ๋์ ๊ฐ๋ ์ฑ ๋ฐ ์ดํด๋๊ฐ ํฅ์๋๋ค.
์ ์ ํ์ ๋ถ์์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ค์ํ ํ์ ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ IDE๋ ์๋ ์์ฑ ๊ธฐ๋ฅ ๋ฑ์ ์ ์ฉํ ๊ธฐ๋ฅ๋ค์ ์ง์ํ๋ค. ํนํ Visual Studio Code์ Typescript๋ ๋ชจ๋ Microsoft์์ ๋ง๋ค์๊ธฐ ๋๋ฌธ์ VS Code์์ Typescript ๊ฐ๋ฐ์ด ๋์ฑ ์ฉ์ดํ๋ค.
์ฐธ๊ณ
wishket/ํ ์ค์ ํ๋ก ํธ์๋ - TypeScript๋ ์ด๋ป๊ฒ ๊ณต๋ถํด์ผ ํ๋์?
Typescript handbook
mdn web docs - JavaScript์ ๋ํ์ฌ
ts-for-jsdev
JavaScript VS TypeScript
Typescript์ ์ฌ์ฉ๋ชฉ์ ๋ฐ ์ฅ์