[TS] 타입 별칭과 인덱스 시그니처

짱효·2024년 1월 9일
0

📖 TypeScript

목록 보기
7/20
post-thumbnail
//타입 별칭
let user: {
  id: number;
  name: string;
  nickname: string;
  birth: string;
  bio: string;
  location: string;
} = {
  id: 1,
  name: "이",
  nickname: " winter",
  birth: "1997.11.11",
  bio: "안녕하세요",
  location: "부천시",
};

하나씩 일일이 쓰면 힘들어짐
그래서 나온게
➡️ 타 입 별 칭

//타입 별칭

🔥type User = {
  id: number;
  name: string;
  nickname: string;
  birth: string;
  bio: string;
  location: string;
};

let user: 🔥User = {
  id: 1,
  name: "이",
  nickname: " winter",
  birth: "1997.11.11",
  bio: "안녕하세요",
  location: "부천시",
};

let user2: 🔥User = {
  id: 2,
  name: "김",
  nickname: " winter",
  birth: "1990.03.31",
  bio: "안녕하세요",
  location: "서울시",
};

중복 코드가 사라짐.

⚠️사용할때 주의점

  • 같은 스코프에서 같은 이름 타입별칭 만들지 말기.
  • 아래는 상관없음.

인덱스 시그니처

  • key와 value의 타입이 규칙을 가지고 있는 객체에 사용
//인덱스 시그니처
type countryCodes = {
  [key: string]: string;
};

let countryCodes: countryCodes = {
  Korea: "ko",
  UnitedState: "us",
  UnitedKingdom: "uk",
};

⚠️인덱스 시그니처 주의점(빈 변수)

  • 규칙을 위반하지만 않으면 모든 객체를 허용함
  • {}는 규칙을 위반할 프로퍼티 자체가 없는거라 -> 에러가 안남.

⚠️인덱스 시그니처 주의점2(꼭 있어야하는 key 적어주기)

  • 문제가 생김
  • 두개의 타입이 모두 일치 시켜줘야함
profile
✨🌏확장해 나가는 프론트엔드 개발자입니다✏️

0개의 댓글