티스토리 뷰
대부분의 프로그래밍 언어는 어떻게 동작할까?
대부분의 프로그래밍 언어는 인간친화적이다.
프로그래밍 언어는 영어 문법과 비슷하기 때문에 바이트 코드나 기계어, 이진수 같은 언어를 기반으로 동작하는 컴퓨터가 프로그래밍 언어를 바로 이해할 수 없다.
그래서 컴퓨터는 코드를 해석하기 쉬운 형태로 변환하는 '컴파일'과정을 거쳐 코드를 실행한다.
- 다른 언어로 변환하는 프로그램 -> 컴파일러
📍 컴파일 과정
컴파일러는 어떤 과정을 거쳐 컴파일을 할까?
컴파일러는 프로그래밍 언어로 작성된 코드를 AST(추상 문법 트리)라는 형태로 먼저 변환한다.
AST란?
코드의 공백이나 주석 탭 등 코드 실행에 관계없는 요소들은 전부 제거하고 트리 형태의 자료구조에 코드를 쪼개서 저장한 형태
자바스크립트 코드를 AST로 변환하고 컴파일러가 AST를 바이트 코드로 변환하면 컴파일이 종료된다.
🌈 타입스크립트 컴파일 과정
타입스크립트의 컴파일 과정을 보면, 다른 언어와 동일하게 먼저 타입스크립트 코드를 AST로 변환한다.
그 다음에는 AST를 보고 코드 상에 타입 오류가 없는지 검사하는 타입 검사가 수행된다.
만약 코드에 타입 오류가 있는 경우 타입 검사가 실패하고 컴파일이 중단된다.
타입 오류가 없는 정상적인 코드라면 타입 검사를 통과하고 AST를 바이트코드가 아닌 '자바스크립트 코드'로 변환한다.
여기까지가 타입스크립트의 컴파일 과정이다.
마지막에 만들어진 자바스크립트 코드를 Node.js나 웹 브라우저로 실행하면 위에서 본 다른 언어들과 동일한 과정을 거쳐 컴파일 된다.
여기서 중요한 부분은
타입 검사를 통과한 자바스크립트 코드이기 때문에 타입 오류가 발생할 가능성이 낮다.
라는 것이다.
전체적인 코드의 실행 과정을 나타낸다면 다음과 같다.
🌈 타입 검사 후의 자바스크립트 코드
타입 오류가 없는 타입스크립트는 타입 관련 문법들은 삭제된 안전한 자바스크립트 코드로 변경된다.
타입 검사를 통과한 타입스크립트 코드는 자바스크립트로 변환되면서 타입 관련 코드들이 사라지므로 프로그램 실행에 영향을 미치지 않는다.
정리하자면 타입스크립트는 자바스크립트를 보다 더 안전하게 사용하기 위한 검사 용도로 사용되는 언어이다.
'코딩 > 한 입 크기로 잘라먹는 타입스크립트' 카테고리의 다른 글
[TypeScript] 타입스크립트 객체 타입 (0) | 2023.06.26 |
---|---|
[TypeScript] 타입스크립트 배열과 튜플 (0) | 2023.06.23 |
[TypeScript] 타입스크립트의 기본 타입 (0) | 2023.06.22 |
[TypeScript] 타입스크립트 컴파일러 설치 & 옵션 설정 (0) | 2023.06.18 |
[TypeScript] 타입스크립트란? (0) | 2023.06.15 |