다음 코드를 보자.
if ("" == 0) {
// 참입니다! 근데 왜죠??
}
if (1 < x < 3) {
// 어떤 x 값이던 참입니다!
}
대부분의 프로그래밍 언어는 이런 종류의 오류들이 발생하면 오류를 표출해주고, 일부는 코드가 실행되기 전인 컴파일 중에 오류를 표출해준다. 작은 프로그램을 만들 때에는 관리가 가능하지만 큰 프로그램에서는 이런 지속적인 오류는 심각한 문제다.
앞에서 몇 언어는 버그가 많은 프로그램은 아예 실행을 시키지 않는다고 했다. 이처럼 프로그램을 실행시키지 않으면서 오류를 검출하는 것을 정적 검사라고 한다. 그리고 TypeScript는 정적 타입 검사자(A Static Type Checker)이다.
TypeScript는 JavaScript의 상위 집합이다.
console.log(4 / []);
JavaScript에서는 NaN을 출력하지만 TypeScript는 오류를 발생시킨다.
정리하자면 JavaScript의 런타임 단계에서 발생하는 타입 에러는 TypeScript를 이용한다면 컴파일 단계에서 미리 확인하고 고칠 수 있는 것이다.
let text: String = 'hello';
이처럼 변수에 미리 Type을 정의하여 개발자의 실수를 줄이고, 명시된 타입을 보고 변수의 자료형이 무엇인지 쉽게 이해할 수 있다.
왜 써야하는지는 좋은 글이 있기 때문에 따로 정리는 하지 않겠다.
Server The SOPT - TS, 왜 써야할까?
기본적인 내용은 아래 영상으로 공부했다.
코딩 애플 - 타입스크립트 쓰는 이유 & 필수 문법 10분 정리