본문 바로가기

TypeScript/러닝 타입스크립트

[CHAPTER 2] 타입 시스템

2.1 타입의 종류

 

- 타입: 자바스크립트에서 다루는 값의 형태에 대한 설명

- 형태: 값에 존재하는 속성과 메서드 그리고 내장되어 있는 typeof 연산자가 설명하는 것

 

- 원시타입 7가지: ① null ② undefined ③ boolean ④ string ⑤ number ⑥ bigint ⑦ symbol

 

2.1.1 타입 시스템

 

타입 시스템의 작동 방식

- 코드를 읽고 존재하는 모든 타입과 값 이해

- 각 값이 초기 선언에서 가질 수 있는 타입 확인

- 각 값이 추후 코드에서 어떻게 사용될 수 있는지 모든 방법 확인

- 값의 사용법이 타입과 일치하지 않으면 사용자에게 오류 표시

 

2.1.2 오류 종류

 

구문 오류: 타입스크립트가 자바스크립트로 변환되는 것을 차단한 경우 ← 타입스크립트가 코드로 이해할 수 없는 잘못된 구문을 감지할 때

타입 오류: 타입 검사기에 따라 일치하지 않는 것이 감지된 경우 ← 타입스크립트의 타입 검사기가 프로그램의 타입에서 오류를 감지했을 때 발생

 

⇒ 차이점: 자바스크립트 파일 생성 유(타입 오류) VS 무(구문 오류)

 

2.2 할당 가능성

 

타입스크립트에서 함수 호출이나 변수에 값을 제공할 수 있는지 여부를 확인하는 것, 전달된 값이 예상된 타입으로 할당 가능한지

 

2.3 타입 애너테이션

- 진화하는 any 초기 타입을 유추할 수 없는 변수로, 특정 타입을 강제하는 대신 새로운 값이 할당될 떄마다 변수 타입에 대한 이해를 발전시킴

 

- 타입 애너테이션: 초깃값을 할당하지 않고도 변수의 타입을 선언할 수 있는 구문

변수 이름 뒤에 배치되며 콜론(:)과 타입 이름을 차례로 기재

 

let rocker: string;
ricjer = "John Jett";

 

2.3.1 불필요한 타입 애너테이션

 

초기값이 있는 변수에 타입 애너테이션을 추가하면 타입 스크립트는 변수에 할당된 값의 타입이 일치하는지 확인함

 

2.4 타입 형태

2.4.1 모듈

 

① 모듈: export 또는 import가 있는 파일

② 스크립트: 모듈이 아닌 모든 파일

 

- 한 모듈에서 다른 파일에 선언된 변수와 동일한 이름으로 선언된 변수는 다른 파일의 변수를 가져오지 않는 한 이름 충돌로 간주하지 않음

 

- 스크립트 파일에 선언된 변수는 다른 스크립트 파일에 선언된 변수와 동일한 이름을 가질 수 없음

 

'TypeScript > 러닝 타입스크립트' 카테고리의 다른 글