[TypeScript] Interface of Object

Dorong·2022년 12월 28일
0

TypeScript

목록 보기
12/15

🔸 Object의 타입지정

    1. 가장 기초적인 방법

      let human : {name : string, age : number}
      = {name : 'Yu', age : 26};

    1. type alias

      type Human = {name : string, age : number};
      let human : Human = {name : 'Yu', age : 26};

  • 그리고 한 가지가 더 있는데, 바로 interface!!



🔸 Interface

  • 기본적으로 class 문법과 비슷

    interface Human {name : string, age : number};
    let human : Human = {name : 'Yu', age : 26};

  • type alias와 구별되는 장점 => 확장(extends)가능!!
  • 유의점 ) extends로 확장 시킬 때 기존에 있던 속성을 새로 재정의 하는건 불가능

    interface Human {name : string, age : number};
    interface SuperHuman extends Human {ability : string};
    let hulk = SuperHumanP{name : 'Banner', age : 40, ablility : 'Hulk'};


✅ Extends와 비슷한 "&"

  • "&" 기호를 사용해 type 혹은 interface를 결합
  • 결합된 모든 조건을 동시에(and조건으로) 만족하도록 함

    type LastName = {last : string};
    type FullName = {first : string} & LastName;



🔸 Type과 Interface의 차이점

  • Type은 중복선언이 불가능

    type Human = { name : string, age : number };
    type Human = { married : boolean } // 오류!!!

  • Interface는 중복선언이 가능
  • 이는 재할당 등 새로 갱신되는 게 아니라 속성이 계속적으로 추가되는 형태

    interface Human { name : string, age : number };
    interface Human { married : boolean };
    interface Human { undef : undefined };
    let human : Human
    = {name : 'Yu', age : 26, married : false, undef : undefined};





🌟 잘못된 부분에 대한 말씀은 언제나 저에게 큰 도움이 됩니다. 🌟
👍 감사합니다!! 👍

profile
🥳믓진 개발자가 되겠어요🥳

0개의 댓글