TypeScript 2번째 시간

JunpyoAhn·2023년 12월 13일
0

enum 이란?

  • enum타입은 가독성 높이고 명확한 상수값 정의

  • number, string만 사용

  • 간단한 상수 그룹화 할때 사용

  • 각 멤버의 값이 변하면 안됨

object literal이란?

  • 키 + 값의 쌍(pair)으로 구성된 객체를 정의하는 방식

  • 어떤 타입의 값도 대입 가능

  • 코드 사용하기 전 할당함 -> 런타임 에러 방지

  • enum가 달리 멤버의 값이나 데이터 타입을 맘대로 변경 가능.

  • 복잡한 구조에 용이

Partial 타입이란?

  • 모든 속성을 선택적으로 만듬
  • 일부 속성만 제공하는 객체 쉽게 생성
interface Person {
  name: string;
  age: number;
}

const updatePerson = (person: Person, fields: Partial<Person>): Person => {
  return { ...person, ...fields };
};

const person: Person = { name: "Spartan", age: 30 };
const changedPerson = updatePerson(person, { age: 31 });
  • Person의 name 과 age 둘중에 하나만 있어도 괜찮음.
  • 기존에 없던 속성을 넣으면 안됨.
  • 유연하게 타입의 속성을 선택하여 객체 생성 가능

 Required 타입이란?

  • Partial타입과 반대로 모든 속성이 반드시 모두 제공되어야 함.

Readonly 타입이란?

  • 모든 속성을 읽기 전용으로 만든다.
  • 완전한 불변객체로 취급 가능

Pick<T, K> 타입이란?

interface Person {
name: string;
age: number;
address: string;
}

type SubsetPerson = Pick<Person, "name" | "age">;

const person: SubsetPerson = { name: "Spartan", age: 30 };
  • K 속성들만 선택하여 새로운 타입 만듬.
    -일부 속성만 포함하는 객체 생성 가능

Omit<T,K> 타입이란?

  • T에서 K속성들만 제외한 새로운 타입 생성
  • Pick<T,K>와 반대

0개의 댓글