타입스크립트를 개인 프로젝트로 만들때마다 interface, typeof, 타입추론 등등 할때
더 정확하게 배우기위하여 이번 기회에 한번 강의로 배워보았다.
강의에서 배운내용을 정리하여 한번 써보는 개념잡기
🐣그럼 시작~
모든 프로그래밍 언어는 타입 시스템을 가지고 있으면서 각각 정적, 동적 타입 시스템을 가진다.
정적 + 동적 이 두가지를 가진 타입 시스템을 점진적 타입 시스템(Gradual type system)이라고 불린다.
정적 타입의 프로그래밍 언어로는 C, C#, C++, Java 가 있으며
동적 타입의 프로그래밍으로는 Javascript, Python 있다.
(위 사진은 타입에서 정적, 동적 타입을 설명)
허나 이렇게 장점만 있으면 좋겠지만
정적 타입의 단점으로는 매번 자료형을 지정해주어야 한다는 점과 코드가 길어진다는점이다.
동적 타입의 단점으로는 컴파일러가 에러가 발생할때 타입 에러가 일어날 수 있다는 점이다. 그렇기 때문에 프로젝트에서 에러가 어디서 발생했는지 찾기가 어렵다.
그리하여,
자바스크립트에서는 이러한 단점을 보안하기 위해서
개발자들은 점진적 타입 시스템(Gradual type system)을 도입한것이다.
(점진적 타입 시스템을 가진 Typescript)
타입스크립트의 실행과정은 이와 같이 진행된다.
첫째) 코드가 AST(추상 문법 트리)로 변환
둘째) 타입검사를 통해서 실행할 경우 에러 발생(이때 에러가 어디서 일어났는지 컴파일러는 보여준다)
셋째) 검사가 성공하면 AST를 자바스크립트로 변환을 한다.
이렇게 되면 Typescript ---> Javascript로 나타나게 되는것이다.
(위 과정을 사진으로 나타낸것)
사진출처: [인프런] 한 입 크기로 잘라먹는 타입스크립트