타입 주석(Type Annotaion)

변수 이름 뒤에 콜론(:)과 함께 변수의 타입을 정의하는 문법.

let num1: number = 0;

원시 타입과 리터럴 타입

원시 타입(Primitive Type)

동시에 하나의 값만 저장하는 타입

number 타입이라면 숫자 값 하나만 할당 가능하고, string 타입이라면 문자열 하나, boolean 타입이라면 true, false 둘 중 하나만 할당이 가능하다. 반면, 배열이나 객체는 동시에 여러 개의 값을 할당할 수 있다.

  • Number: 숫자를 의미하는 모든 값을 포함하는 타입. 정수, 실수, 음수, Infinity, NaN 등 포함
  • String: 문자열 타입으로 단순 따옴표 문자열 뿐만 아니라 백틱, 템플릿 리터럴로 만든 모든 문자열 포함
  • Boolean: 참과 거짓만을 저장하는 타입.
  • null: null 값만 포함하는 타입
  • undefined: undefined만 포함하는 타입

null 값을 다른 타입 변수에 할당
JS에서는 아직 값이 정해지지 않은 변수에 null 값을 할당하기도 했지만, TS에서는 null 타입이 아닌 다른 타입 변수에 null을 할당하지 못한다. 다른 타입 변수에 null을 할당하고 싶을 경우에는 tsconfig.json에서 strictNullChecks 옵션을 false로 설정한다.

리터럴 타입

딱 하나의 값만 포함하는 타입으로 리터럴은 우리말로 ‘값’이라는 뜻.

let numA: 10 = 10;

위 예시처럼 타입을 설정하면 해당 변수에는 10 이외의 값을 저장하지 못하게 된다. 숫자뿐 아니라 문자열, 불리언 타입 값도 모두 리터럴 타입으로 사용 가능하다.

profile
나도 재밌고, 남들도 재밌는 서비스 만들어보고 싶다😎

0개의 댓글