
JavaScript의 타입은
동적 타입으로,런타임에 타입이 결정된다.
런타임에 타입이 결정되므로 console.log('5' + 2) 를 했을 때 결과값이 7이 아닌 52가 되는 논리적 오류가 발생한다.
하지만 TypeScript의 타입은
정적 타입으로,개발할 때 타입을 미리 지정한다.
개발자가 개발하는 단계에서 타입을 미리 지정하므로, 위와 같은 에러가 개발 단계에서 발생한다. 그러므로 버그를 런타임이 아닌 개발 단계에서 찾을 수 있다는 장점이 있다.
| 타입 | 예시 | 설명 |
|---|---|---|
| number | 1, 4.5, -10 | 다른 언어와는 달리, JavaScript와 TypeScript의 숫자는 하나의 타입이다. |
| string | 'Hi', "Hi", 템플릿 리터럴 | 문자열 |
| boolean | true, false | |
| object | {age: 30} | TypeScript의 객체는 여러 종류가 있다. |