티스토리 뷰
1. 타입스크립트 소개
- 타입스크립트는 자바스크립트의 확장판
- 자바스크립트의 기본적인 모든 문법을 포함함
- 자바스크립트를 더 안전하게 사용할 수있도록 타입 관련 기능들을 추가한 언어
2. 자바스크립트의 단점과 타입스크립트
(1) 자바스크립트의 한계
자바스크립트의 한계를 알아보기 이전에 한 가지, 타입시스템에 대해서 알고 가자.
타입시스템
- 언어의 타입 관련된 문법 체계
- 값들을 어떤 기준으로 묶어 타입을 규정할 것인지, 코드 타입을 언제 검사할 것인지, 어떻게 타입을 검사할 것인지 등의 규칙을 모아둔 체계
- 모든 프로그래밍 언어는 타입 시스템을 가지고 있음
정적 타입시스템
- 코드 실행 이전 모든 변수의 타입을 고정적으로 결정
- 엄격하고 고정적인 시스템
- 모든 변수에 일일이 타입을 지정해야 함
- 타이핑양 증가, 낮은 유연성
c
,java
동적 타입시스템
- 코드를 실행하고 나서 그때 그때 마다 유동적으로 변수의 타입을 결정
- 자유롭고 유연한 시스템
파이썬
,자바스크립트
자바스크립트 동적 타입시스템의 한계
- 변수의 타입이 하나로만 고정되지 않기에
- 아무 타입의 값이나 자유롭게 담을 수 있음
let a = "hello"; // 문자열
a = 19970107; // 숫자
그러나 런타임(실행) 이전에 타입 관련 오류를 잡아줄 수 없기에 예기치 못한 오류가 발생할 수 있음. 너무 자유로운 것도 문제라는 것
(2) 타입스크립트의 타입 시스템
- 동적 타입시스템과 정적 타입시스템을 혼합한 독특한 타입시스템
- 변수의 타입을 실행 이전에 검사하여 타입 안정성을 확보
- 자동으로 변수의 타입을 추론하기 때문에 모든 변수에 타입을 일일이 지정할 필요가 없음
- 점진적 타입 시스템(Gradual Type System) : 동적 타입시스템의 불안정성을 해결하면서도 정적 타입시스템의 귀찮음도 해결해주는 타입시스템
3. 타입스크트의 동작 원리
대다수의 프로그래밍 언어의 동작원리
컴파일(Compile)
: 사람이 작성한 프로그래밍 언어를 컴퓨터가 이해하기 위운 기계어 형태로 변환하여 컴퓨터에게 전달하는 과정- 컴파일 과정:
자바스크립트 코드
->AST(추상 문법 트리)
->바이트 코드
타입스크립트의 컴파일 과정
타입스크립트 코드
->AST(추상 문법 트리)
->타입 검사
검사 실패
-> 컴파일 종료검사 성공
-> 컴파일 결과로자바스크립트 코드
반환- 타입과 관련된 코드들은 컴파일 결과 모두 사라짐
- 이후 자바스크립트의 컴파일 과정 수행
본 포스팅은 인프런 한 입 크기로 잘라먹는 타입스크립트 강의를 기반으로 작성되었습니다. 사용된 이미지들은 모두 위 강의에서 가져왔습니다. 문제시 알려주세요.
'웹개발 > TypeScript' 카테고리의 다른 글
타입스크립트 | 인터페이스 (0) | 2023.08.24 |
---|---|
타입스크립트 | 함수와 타입 (0) | 2023.08.24 |
타입스크립트 | 타입 이해하기 (0) | 2023.08.19 |
타입스크립트 | 기본 타입 정리 (1) | 2023.08.18 |
타입스크립트 | 컴파일러 옵션 설정하기 (0) | 2023.08.16 |