TypeScript is a programming language developed and maintained by Microsoft. It introduces additional features like strict type binding (variables are bound to specific data types) to JavaScript and can also be compiled down to JavaScript as well.
자바스크립트는 파이썬 루비와 같이 런타임시 자료형이 결정되는 동적타입언어이다. 따라서 코드작성 시 변수의 타입을 정해주지 않아도 괜찮다. 이로인해 코드 작성 시 유연함을 가진다. 하지만 세상 모든 것이 그렇듯이 장점을 가지면 반대급부로 단점을 가지게 되어있다. 유연함을 가진대신 안정성이 떨어진다. 타입에 대한 리스크를 런타임에서 감당해야한다.
타입스크립트는 마이크로소프트사에서 개발된 프로그래밍언어로 이러한 자바스크립트의 단점인 타입 불안정성을 보완하기 위해 고안되었다.
타입스크립트파일 (ts , tsx) 자체는 브라우저에서 동작하지 않으므로 TypeScript 컴파일러를 통해 자바스크립트 파일로 변환해야한다. 여기서 컴파일이라는 용어보다는 transpiling(언어를 다른 언어 코드로 변환해주는것) 이라고 표현하는게 더 올바를 것 같다.
타입스크립트는 일반 변수, 매개 변수, 객체 속성 뒤에 : TYPE
을 붙이는 형식으로 지정할 수 있다.
유연적인 특성을 살리려고 자바스크립트를 사용하지만 그 유연함이 결점을 만들어냈고 타입스크립트가 이를 보완해주었다. 타입스크립트는 이 세상에 완벽 무결이란 없으니까.. 즉 최선이라는것은 프로그래밍에서 없으니 수많은 방법중 중 차선책을 쓰는것이 현명한 개발방식이라고 시사해주는 것 같다.