Literal Type

김수영·2022년 1월 20일
0

Typescript

목록 보기
7/8
post-thumbnail

Literal Type

let john :'대머리';
let kim :'솔로';

string, number 이런 것만 타입이 될 수 있는게 아닙니다.

일반 글자같은 것도 타입이 될 수 있습니다.

그럼 신기하게도

john이라는 변수는 이제 '대머리' 라는 글자만 할당할 수 있습니다.

kim이라는 변수는 이제 '솔로' 라는 글자만 할당할 수 있습니다.

특정 글자나 숫자만 가질 수 있게 제한을 두는 타입을 literal type 이라고 부릅니다.

더욱 엄격한 실드

const 이름 = 'kim' | 'park' (이런 식의 문법은 자바스크립트에 없음)

as const

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

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

}
내함수(자료.name)

as const는 효과가 2개인데

  1. 타입을 object의 value로 바꿔줍니다. (타입을 'kim'으로 바꿔줍니다)

  2. object안에 있는 모든 속성을 readonly로 바꿔줍니다 (변경하면 에러나게)

    object를 잠그고 싶으면 as const를 활용해보도록 합시다.

profile
기술과 인문학의 교차점

0개의 댓글