TypeScript - 2

박재민·2024년 3월 5일
0

TIL

목록 보기
40/49

- TypeScript 기본 타입


- boolean : 참(true) 또는 거짓(false) 값을 나타냄

function isValidPassword(password: string): boolean {
  return password.length >= 8;
}

const password = "q1w2e3r4!";
const valid = isValidPassword(password);

if (valid) {
  console.log("유효한 패스워드입니다!");
} else {
  console.log("유효하지 않은 패스워드입니다!");
}
보통 2가지의 상태 (켜짐/꺼짐, 유효함/유효하지 않음) 를 표현하고 싶은 경우 사용하고 주로 조건문, 비교 연산 등에서 사용됨.

- number : TypeScript 에서 사용하는 모든 숫자를 나타냄

function calculateArea(radius: number): number {
  return Math.PI * radius * radius;
}

const radius = 5;
const area = calculateArea(radius);
console.log(`반지름이 ${radius}인 원의 넓이: ${area}`);
TypeScript 에서는 number 타입이 정수 ( short, int, long ), 실수 ( float, double ) 뿐만 아닌 2, 8, 16 진수까지 표현할 수 있다.

- string : 텍스트 데이터를 나타냄

function greet(name: string): string {
  return `안녕, ${name}!`;
}

const name = "Jaemin";
const greeting = greet(name);
console.log(greeting);
작은 따옴표(’), 큰 따옴표(”), 백쿼트(`) 를 사용하여 문자열을 표현할 수 있고, string 타입은 텍스트를 조작하거나 출력할 때 사용할 수 있다.
(ex. 텍스트와 텍스트를 합쳐야 하는 경우, 텍스트에서 특정 문자열을 찾아야 하는 경우 등 )

- array : 기본타입에 [ ] 가 붙은 형태의 타입

function calculateSum(numbers: number[]): number {
  let sum: number = 0;
  for (let i = 0; i < numbers.length; i++) {
    sum += numbers[i];
  }
  return sum;
}

const testScores: number[] = [90, 85, 78, 92, 88];
const sumScore = calculateSum(testScores);
console.log(`점수의 총합: ${sumScore}`);

- tuple : 서로 다른 타입의 원소를 순서에 맞게 가질 수 있는 특수한 형태의 배열

- tuple 과 array 의 차이

배열은 number[ ], string[ ] 처럼 같은 타입의 원소만 가질 수 있는 반면, 튜플은 어떤 타입의 원소를 허용할 것인지 정의해준다.
const person: [string, number, boolean] = ['Jaemin', 25, false];
const person2: [string, number, boolean] = [25, 'Jaemin', false]; // 오류!
튜플은 정의된 데이터 타입의 개수와 순서에 맞추어 저장하는 것이 필수이다.

enum : 열거형 데이터 타입

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 안에 있는 각 요소는 값이 설정 되어 잇지 않으면 기본적으로 0 으로 시작하고, enum 안에 있는 요소에는 number 나 string 타입의 값만 할당 할 수 있다.
+ enum 은 명확하게 관련된 상수 값들을 그룹화 하고자 할 때 사용한다. 그러나 값의 수가 많지 않고, 값들 사이의 관계가 뚜렷하지 않으면 사용하지 않는 게 좋다.

0개의 댓글