TIL 52일차 (20240311)

박세연·2024년 3월 11일

TIL

목록 보기
42/70


오늘의 목표는 타입스크립트 완강, nest.js 2주차까지 듣기!

✏️ 타입

🍪 boolean

  • 참 또는 거짓 값을 나타냄
  • 조건문, 비교 연산 등에서 주로 사용

🍪 number

  • typeScript에서 사용하는 모든 숫자

🍪 string

  • 텍스트 데이터
  • 템플릿 리터럴을 사용할 때는 "백틱"을 이용해야함

🍪 배열

  • 기본 타입에 []가 붙은 형태의 타입
  • 한 가지 타입의 원소로만 가질 수 있음

🍪 튜플

  • 서로 다른 타입의 원소를 순서에 맞게 가질 수 있는 특수한 형태의 배열
  • 타입의 순서를 고려해야함

    ex) const person: [string, number, boolean] = ['Spartan', 25, false];

🍪 enum

  • 명확하게 관련된 상수 값들을 그룹화할 때 사용
  • 열거형 데이터 타입
  • number나 string 타입의 값만 할당할 수 있음

🍪 readonly

  • 객체(클래스나 인터페이스)의 속성을 불변으로 만듦

🌭 any

  • 어떤 타입의 값이든 저장할 수 있음. 가급적 사용을 줄여야함
  • 자바스크립트의 object 타입과 같은 최상위 타입

🌭 unknown

  • 모든 타입의 값을 저장할 수 있지만 다른 타입의 변수에 할당하려면 명시적으로 타입을 확인함
  • stringValue = unknownValue as string;: Type Assertion(타입 단언)
    -> 타입 단언 없으면 에러 발생함
  • 타입 단언 이외에 typeof 키워드로 타입체크한 후 다른 변수에 할당할 수 있음

🌭 union

  • 여러 타입 중 하나를 가질 수 있는 변수를 선언할 때 사용
  • | 연산자를 사용하여 여러 타입을 결합하여 표현함

✏️ 고급 타입

🥠 enum과 object literal 차이

  • enum: number, string 타입의 값만 받는 간단한 상수 값. 멤버의 값이나 타입을 맘대로 변경할 수 없음
  • object literal: const, let 키워드 사용, 복잡한 구조 + 다양한 데이터 타입, 코드 내에서 사용하기 전에 값이 할당되어야하므로 런타임 에러 방지

✏️ 유틸리티 타입

🚀 Partial< >

  • <> 안에 있는 타입의 모든 속성들을 선택적으로 작성
  • 기존 타입의 일부 속성만 제공하는 객체를 생성할 수 있음
  • 인터페이스 내부 이외의 속성을 넣을 수는 없음

🚀 Required< >

  • <> 안에 있는 타입의 모든 속성을 필수적으로 만듦
  • 모든 속성이 반드시 전부 제공이 되는 객체를 생성할 때 사용됨

🚀 Readonly< >

  • <> 안의 모든 속성을 읽기 전용으로 만듦
  • 완전 불변 객체로 취급할 수 있음

🚀 Pick< 00,XX >

  • 타입 00에서 XX 속성들만 선택하여 새로운 타입을 만듦
  • 타입의 일부 속성만을 포함하는 객체를 생성할 수 있음

🚀 Omit< 00, XX >

  • 타입 00에서 XX 속성들만 제외한 새로운 타입을 만듦
  • 기존 타입에서 특정 속성을 제거한 새로운 타입을 생성할 수 있음
profile
배워나가는 중

0개의 댓글