[TypeScript] 타입스크립트의 기본 타입

Uhan33·2024년 3월 4일
0

TIL

목록 보기
40/72

타입스크립트의 기본 타입을 알아보자
타입은 변수나 함수 뒤에 붙여서 사용한다.

ex) const name: string
ex) function getName(): string { ... }

1. boolean

참(true) 또는 거짓(false) 값을 나타내는 타입이다.
이 둘 외에 값은 포현할 수 없다.

2. number

TypeScript에서 사용하는 모든 숫자를 나타낸다.
일반적인 프로그래밍 언어의 타입(int, long, float ...)과 다르게
number 하나로 정수, 실수 2, 8, 16진수까지 표현할 수 있다.

3. string

텍스트 데이터를 나타낸다.
'', "", ``를 사용해서 문자열을 표현한다.
``는 키보드의 ~키에 있는 백쿼트이다.
ES6부터 등장한 템플릿 리터럴을 사용할 떄 백쿼트를 사용한다.

4. 배열

배열은 기본타입에 []가 붙은 형태의 타입을 말한다.

ex) let numbers: number[]

5. 튜플

튜플(tuple)은 서로 다른 타입의 원소를 순서에 맞게 가질 수 있는 특수한 형태의 배열이다.
일반적인 배열 타입은 같은 타입의 데이터만 들어갈 수 있는데,
튜플은 어떤 타입의 원소를 허용할 것인지 정의만 해주면 여러 타입의 데이터가 들어갈 수 있다.

ex) const person: [string, number, boolean] = ['Gildong', 20, false];
데이터와 타입의 갯수와 순서도 맞춰주어야 한다.

6. enum

열거형 테이터 타입인 enum은
다양한 상수를 보다 더 이해하기 쉬운 문자열 이름으로 접근하고 사용할 수 있게 하는 타입이다.
예시를 보는것이 이해가 더 쉬울 것이다.

ex)

enum UserRole {
  ADMIN = "ADMIN",
  EDITOR = "EDITOR",
  USER = "USER",
}

enum UserLevel {
  NOT_OPERATOR, // 0
  OPERATOR // 1
}

function checkPermission(userRole: UserRole, userLevel: UserLevel): void {
  if (userLevel === UserLevel.NOT_OPERATOR) {
    console.log('당신은 일반 사용자 레벨이에요');
  } else {
    console.log('당신은 운영자 레벨이군요');
  } 

  if (userRole === UserRole.ADMIN) {
    console.log("당신은 어드민이군요");
  } else if (userRole === UserRole.EDITOR) {
    console.log("당신은 에디터에요");
  } else {
    console.log("당신은 사용자군요");
  }
}

const userRole: UserRole = UserRole.EDITOR;
const userLevel: UserLevel = UserLevel.NOT_OPERATOR;
checkPermission(userRole, userLevel);

enum은 명확하게 관련된 상수 값들을 그룹화하고자 할 때 사용하면 효과가 좋다.
enum 안에 있는 각 요소는 값이 설정되어 있지 않으면 기본적으로 숫자 0으로 시작하며,
enum 안에 있는 요소에는 number 혹은 string타입의 값만 할당할 수 있다.

0개의 댓글