티스토리 뷰

개발/타입스크립트

Literal Types

네스사 2023. 4. 20. 12:01

Literal Types


  • TypeScript에서 사용되는 타입 중 하나로, 변수나 함수 등에서 정해진 값만 할당하도록 제한하는 것입니다.
  • 타입 지정과 동일하게 사용하며, 이렇게 지정된 값들을 하나의 타입으로 취급하여 리터럴 타입이라고 합니다.
  • 즉, 값을 지정하는 게 아닌 새로운 리터럴 타입을 만들어 지정하는게 올바른 표현입니다.
  • 리터럴 타입은 리터럴 값을 직접 타입으로 사용하기 때문에 더 간결하고 가독성이 높은 코드를 작성할 수 있습니다.
let myName: "John"|"kim"; // myName 변수는 "John","kim" 값만 가질 수 있습니다.
myName = "John"; // 유효한 할당입니다.
myName = "Mike"; // 유효하지 않은 할당입니다. 오류가 발생합니다.

let myAge: 25; // myAge 변수는 25 값만 가질 수 있습니다.
myAge = 25; // 유효한 할당입니다.
myAge = 30; // 유효하지 않은 할당입니다. 오류가 발생합니다.

 

 

 

as const


  • TypeScript에서 as const는 변수나 속성의 타입을 불변적인 타입으로 지정하는 데 사용됩니다.
  • 함수에서 리터럴 타입을 지정하고 객체로 해당 값을 인자로 주면 오류가 발생합니다.
  • 이는 함수는 값을 지정하게 아닌, 그 값으로 만든 리터럴 타입을 지정한 것이기에 발생하는 문제입니다.
var 자료 = {
  name : 'kim'
}

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

}
내함수(자료.name)//오류. 리터럴 타입이 아님
  • as const를 사용하면 해당 변수 또는 속성의 값을 변경할 수 없으며, 리터럴 타입으로 추론됩니다.
  • 코드의 가독성과 안정성을 높일 수 있고, 위의 예시처럼 오류가 발생하는 부분을 해결할 수 있습니다.
var 자료 = {
  name : 'kim'
}as const

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

}
내함수(자료.name)
  •  또한 객체의 모든 속성을 readonly로 바꿔서 const와 같은 기능을 보여줍니다.

 

'개발 > 타입스크립트' 카테고리의 다른 글

interface  (0) 2023.04.20
타입스크립트로 HTML 변경과 조작할 때 주의점  (0) 2023.04.20
type alias  (0) 2023.04.19
Narrowing, Assertion  (0) 2023.04.19
타입스크립트 선언  (0) 2023.04.12
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함