
타입스크립트란 마이크로소프트에서 개발한 프로그래밍 언어이이며, 자바스크립트를 더 안전하게 사용할 수 있도록 "타입 관련 기능들을 추가한"언어입니다. 즉, 타입스크립트는 자바스크립트의 확장판이라고 할 수 있습니다.
자바스크립트와 타입스크립트를 비교해 보겠습니다.
//javascript
let a = 1;
let b = 2;
console.log(a+b);
여기가 흔히 우리가 알고 있는 자바스크립트 기본 문법입니다.
//typescript
let a:number = 1;
let b:number = 2;
console.log(a+b);
타입스크립트는 자바스크립트와 다르게 변수에 number라는 타입을 정의하는 문법을 추가했습니다.
이렇게 타입스크립트는 자바스크립트의 기본적인 모든 문법을 포함할 뿐만 아니라 변수, 함수, 객체 등의 타입을 명시적으로 지정할 수 있습니다.
타입스크립트를 사용하는 이유를 알기 전에 먼저 타입 시스템에 대해서 알아야 합니다.타입시스템에는 정적 타입 시스템과 동적 타입 시스템이 있습니다.
javascript에서 변수는 타입이 하나로만 고정되어 있지 않아 아무 타입의 값이나 자유롭게 담을 수 있습니다.
let a = "hello"; //문자열
a = 10; //숫자
a.toUpperCase();
이 코드를 실행해 보면 a의 타입이 숫자로 바꼈고, 그래서 문자열에서 사용하는 함수인 toUpperCase()를 사용했을 때 오류가 납니다. 너무 유연해서 문제가 생기는 것입니다. 반대로 자바같은 정적 타입 시스템에서는 모든 변수에 타입을 다 지정해줘야해서 타이핑 양이 많아지는 문제가 있습니다.
반면에, 타입스크립트는 점진적 타입 시스템으로 실행 전 검사를 통해 타입의 안정성을 확보하고 자동으로 변수 타입을 추론하여 오류의 발생을 줄여줍니다. 이러한 것 외에도 타입스크립트는
등의 장점을 가지고 있습니다.
위의 내용은 <한 입 크기로 잘라먹는 타입스크립트> 강의 내용을 참고하면서 작성했습니다.