- Published on
원시타입과 리터럴타입
원시타입이란?
원시 타입(Primitive Type)은 동시에 한개의 값만 저장할 수 있는 타입들을 말합니다.
예를 들어 배열이나 객체 같은 비 원시타입들은 동시에 여러개의 값을 저장할 수 있는 반면,number
, string
, boolean
등의 원시 타입은 숫자면 숫자, 문자열이면 문자열 딱 하나의 값만 저장할 수 있습니다.
number 타입
let num1: number = 123
let num2: number = -123
let num3: number = 0.123
let num4: number = Infinity
let num5: number = NaN
number 타입은 자바스크립트에서 숫자를 의미하는 모든 값을 포함하는 타입입니다. 단순 정수 뿐만 아니라 소수, 음수, Infinity, NaN 등의 특수한 숫자들도 포함합니다.
boolean 타입
let bool1: boolean = true
let bool2: boolean = false
boolean 타입은 참과 거짓만을 저장하는 타입입니다. true 또는 false만 이 타입에 해당됩니다.
let null1: null = null
null타입은 오직 null 값만 포함하는 타입입니다.
undefined 타입
let unde1: undefined = undefined
undefined 타입 역시 null 타입과 마찬가지로 오직 하나의 값 undefined만 포함하는 타입입니다.
리터럴 타입이란?
타입스크립트에는 string, number 처럼 범용적으로 많은 값을 포함하는 타입 뿐만 아니라 딱 하나의 값만 포함하는 타입도 존재합니다.
따라서 다음과 같이 변수의 타입을 숫자 10으로 설정하는 것 또한 가능합니다.
let numA: 10 = 10
변수 numA의 타입을 숫자 10으로 설정했습니다. 이렇게 설정하면 이제 numA에는 10 이외의 값을 저장할 수 없게 됩니다.
이렇듯 하나의 값만 포함하도록 값 자체로 만들어진 타입을 타입스크립트에서는 ‘리터럴 타입’이라고 부릅니다.
참고로 여기서 리터럴은 우리말로 ‘값’ 이라는 뜻 입니다.
또한 숫자만이 아닌, 문자열 혹은 불리언 타입의 값고 모두 리터럴 타입으로 만들 수 있습니다.
let strA: 'hello' = 'hello'
let boolA: true = true
let boolB: false = false