타입스크립트란?
들어가기전
정적 언어 (Statically Typed Language)
컴파일 시간에 변수의 타입이 결정되는 언어. 타입 즉, 자료형을 컴파일 시에 결정하는 것. C, C++, Java 등은 대표적인 정적 언어이다. 정적 언어는 변수에 들어갈 값의 형태에 따라 자료형을 지정해 주어야 한다. 컴파일 시에 자료형에 맞지 않는 값이 들어있을 경우 컴파일 에러가 발생한다. 컴파일 시간에 변수의 타입을 체크하므로 사소한 버그들을 쉽게 체크할 수 있는 장점이 있다. 즉 타입 에러로 인한 문제점을 초기에 발견할 수 있어 타입의 안정성이 올라간다.
동적 언어 (Dynamically Typed Language)
런타임에 타입이 결정되는 언어. 즉, 소스가 빌드 될 때 자료형을 결정하는 것이 아니라 실행 시 결정된다. 매번 타입을 써줄 필요가 없기 때문에 프로그래머가 빠르게 코드를 작성할 수 있다. JavaScript, Ruby, Python 등은 대표적인 동적 언어이다. 런타임까지 타입에 대한 결정을 끌고 갈 수 있기 때문에 선택의 여지가 있다. 실행 도중에 변수에 예상치 못한 타입이 들어와 Type Error가 발생하는 경우가 생길 수 있다.
타입스크립트란?
2012년 1월 마이크로소프트사에서 출시한 프로그래밍 언어. 오픈소스이며 모든 브라우저 모든 운영체제, 자바스크립트가 쓰이는 모든곳에서 사용가능하다. superset Of JS => 자바스크립트를 감싸는 언어.
런타임에 타입이 결정되는 동적언어인 자바스크립트의 단점을 보완하는 정적인 언어. 더 막강한 객체 지향 프로그래밍이 가능하다. 타입스크립트 코드를 트랜스컴파일해서 자바스크립트로 변환하기 때문에 클라와 서버(Node.js) 사이드 모두에서 사용 가능하다.