
React를 시작한 지 얼마 안 된 상태인데 벌써 타입스크립트도 배운다니? 조금 어려울 것 같기도 하지만 TypeScript는 정말 필요한 언어이다. 이유는 채용 공고들을 보면 대부분 React + TypeScript를 요구하고 있기 때문이다(신입 기준). TypeScript는 무엇이고 왜 필요한지 알아보면 좋을 것 같다.
마이크로소프트에서 개발하고 유지하고 있어서 업격한 문법을 지원한다. 이를 통해 규모가 큰 프로젝트에서 에러를 사전에 방지할 수 있고, 자바스크립트 코드의 품질과 개발 생산성을 높일 수 있다. 즉, 자바스크립트의 단점을 보완해 만든 언어이다.
TypeScript에서는 정적 타입 체크를 통해 코드의 안정성을 향상시키고, 타입 정보를 통해 코드를 이해하기 쉬워진다. 코드에 명시적인 타입 정보가 포함되어 있으므로 코드를 작성하거나 읽을 때 더 명확하고 예측이 가능하다.
let name = 'Steve'
name = 20
예제 코드를 살펴보면, 무엇인 문제인가? 물론 실행은 잘 되겠지만, 문제는 name 변수에 문자열을 할당한 후에 숫자 20으로 재할당한다는 것이다. 처음에 문자열로 할당한 변수에 숫자로 재할당해도 괜찮을까?

JavaScript는 타입을 직접 지정하지 않기 때문에, JS에서 알아서 인식한다. 'age' 변수는 당연히 number 타입이며, age에 'Steve'를 재할당하면 당연히 string 타입으로 변환됩니다. 타입을 지속적으로 변경하는 변수는 나중에 오류로 이어질 가능성이 높아서 이를 해결하기 위해 TypeScript를 사용한다.

TypeScript에서는 타입이 한 번 지정되면 변경이 불가능하다. 예를 들어, age 변수에 number 타입이 처음에 지정되었다면, 이후에는 항상 number 타입으로만 재할당이 가능하다. 만약 다른 타입을 사용하려고 시도한다면 위에서 언급한 오류가 발생한다.

변수에 마우스를 올리면 변수의 타입이 보이지만, TypeScript에서는 변수에 타입을 먼저 지정한 후에 값을 할당하는 문법을 사용한다.