[TypeScript] 5강 리터럴 타입

 

리터럴 타입(Literal Types)는 TypeScript에서 특정 값만을 가지는 타입을 정의해주는 기능입니다. 이를 통해 더 구체적이고 제한적인 타입을 만들수 있어, 코드의 안정성과 가독성을 향상시킬 수 있습니다. 리터럴 타입에는 문자열, 숫자, 불리언 등 다양한 기본 타입에 적용할 수 있습니다.

 

1. 문자열 리터럴 타입

문자열 리터럴 타입에는 특정 문자열 값만을 허용하는 타입입니다. 

type Driver = 'left' | 'right' | 'up' | 'down' | 'break';

function MoveEvent(direction: Driver) {
  console.log(`Moving ${direction}`);
}

MoveEvent('up'); // OK
MoveEvent('break'); // OK
MoveEvent('foward'); // X Not Driver Type

2. 숫자형 리터럴 타입 

숫자형 리터럴 타입도 특정 숫자 값만을 허용합니다.

type StatusCode = 200 | 404 | 500;

function InternetCode(status: StatusCode) {
  console.log(`Response status: ${status}`);
}

InternetCode(404); // OK
InternetCode(200); // OK
InternetCode(5000); // Failed 5000 Code Not List !

3. 불리언 리터럴 타입

불리언 리터럴 타입은 참(true) 또는 거짓(false)만을 허용하는 타입입니다.

type IsActive = true | false; // true or false only

function setActive(active: IsActive) {
  console.log(`Active Status: ${active}`);
}

setActive(true); // OK
setActive(false); // OK
// setActive(NotTrue); // Not Error True & False

4. 객체 리터럴 타입 

리터럴 타입은 객체의 속성에 대해 정의할 수 있습니다.

type Pack = {
  color: 'red' | 'gray' | 'blue';
  pack: 'collection' | 'Fork' | 'Thank';
};

const pickA: Pack = { color: 'red', pack: 'Fork' }; // Success
// const pickB: Pack = { color: 'red', pack: 'Tick' }; // Fail

5. 리터럴 타입과 유니온 타입

리터럴 타입은 유니온 타입과 함께 사용하며 여러 값들을 허용할 수 있습니다.

type Toast = 'Egg' | 'ham' | 'Cheese';

function eat(toast: Toast) {
  console.log(`Eating a ${toast}`);
}

eat('Cheese'); // true
eat('Egg'); // true
// eat('chicken'); // Error: 'chicken' toast is not list

요약

  • 리터럴 타입을 잘 활용하면 API 응답 처리, 상태 관리, 이벤트 핸들링 등 유용하게 사용할 수 있다
  • 이를 통해 코드의 안정성을 높히고 예상치 못한 에러를 방지함
  • TypeScript에서 리터럴 타입은 특정 값만을 허용하는 타입을 정의할 수 있음
  • 더 안전하고 직관 적인 코드를 작성하게 도와 주며 문자열, 숫자, 불리언, 객체 등 다양한 형태의 리터럴 활용
  • 프로그램의 가독성과 유지보수성을 향상시켜준다.

 

 

GitHub - Koras02/typescript-bloging

Contribute to Koras02/typescript-bloging development by creating an account on GitHub.

github.com

 

LIST