오늘부터 우아한 타입스크립트 책을 읽고 정리를 하려한다. 앞에 부분은 조금 넘어가고 타입 챕터에 대한 요약분을 남겨두겠다.
타입
자바스크립트에서의 자료형
- undefined
- null
- Boolean
- String
- Symbol
- Numeric(Number + BigInt)
- Object
정적 타입 언어 vs 동적 타입 언어
정적 타입 언어
- 모든 변수의 타입이 컴파일타임에 결정
- Java, C, Typescript가 이에 해당함
- 컴파일 타임에 에러를 확인함
동적 타입 언어
- 변수 타입이 런타임에 결정됨
- 파이썬, 자바스크립트가 대표적
암묵적 타입 + 강타입과 약타입
암묵적 타입
- 개발자가 의도적으로 타입을 명시하거나 바꾸지 않았는데도, 컴파일러 또는 엔진 등에 의해서 런타임에 타입이 자동으로 변경되는 것을 암묵적 타입 변환이라함
강타입
- 서로 다른 타입을 갖는 값끼리 연산 시도하면 컴파일러 or 인터프리터에서 에러가 발생함
약타입
- 서로 다른 타입을 갖는 값 끼리 연산 할 때 컴파일러 또는 인터프리터가 내부적으로 특정 값의 타입을 반환하여 연산을 수행한 후 값을 도출함
타입스크립트의 컴파일 방식
타입스크립트가 탄생한 이유
- 런타임에 사전에 미리 에러를 잡아내기 위하여 탄생함
그래서 타입스크립트가 컴파일하는 방식이 뭔데?
- 타입스크립트를 컴파일하면 타입이 모두 제거된 자바스크립트의 소스코드만 있음
- 즉, 타입스크립트는 자바스크립트에 타입이라는 레이어를 끼얹는 언어이며, 확장언어 라고도 함
'Typescript' 카테고리의 다른 글
[Typescript] keyof, typeof (0) | 2024.09.23 |
---|---|
[Typescript] Type instantiation is excessively deep and possibly infinite 에러 해결 (0) | 2022.09.29 |