Literal Type

김범주·2022년 7월 12일
0

typescript

목록 보기
4/23
post-thumbnail
let 방향: 'left' | 'right';
방향 = 'left';

string, number 같은 것 이외에도 원하는 글자나 숫자를 타입으로 만들 수 있음
'left'와 'right' 자체가 type

function 함수(a : 'hello') : 1 | 0 | -1 {
  return 1 
}

함수에서도 사용 가능함

var 자료 = {
  name : 'kim'
}

function 내함수(a : 'kim') {

}
내함수(자료.name)

위의 코드는 에러가 남. 함수의 파라미터 a의 type은 'kim'이고 자료.name의 type은 string이지 'kim'타입이 아니기 때문!

var 자료 = {
  name : 'kim'
} as const;

function 내함수(a : 'kim') {

}
내함수(자료.name)

이런식으로 as const를 붙이면

  1. 타입을 object의 value로 변경 (타입을 'kim'으로 바꿔줍니다)
  2. object안에 있는 모든 속성을 readonly로 변경 (변경하면 에러나게)
profile
개발꿈나무

0개의 댓글