JS & TS/TypeScript

[TypeScript] Interface

Bay Im 2024. 2. 13. 16:46
  • 속성 타입
    • 선택적 속성
      • ? 물음표
      interface Book {
          author**?**: string;
          pages: number;
      }
      
    • 읽기 전용 속성
      • readonly
      interface Page {
          **readonly** text: string;
      }
      
  • 호출 시그니처 (call signature)
    • 함수를 호출하는 방법에 대한 타입 시스템 설명
    • 매개변수의 목록과 반환 타입을 포함한다.
  • 인덱스 시그니처 (index signature)
    • 임의의 key를 받고 해당 key에 대한 value의 타입 지정
    • 인덱스 시그니처를 사용하여 프로퍼티의 존재 유무를 알 수 없다.
  • 중첩 인터페이스 (Nested Interface)
    • 속성의 타입이 다른 인터페이스나 객체 타입을 가질 수 있다.
  • interface 확장(extends)
    • interface B extends A { … }
  • interface 다중 상속(확장)
    • 프로퍼티는 동일한 타입이어야 한다.
    • interface C extends A, B { …}
  • interface 병합(merge) 활용
    • 동일 프로퍼티 이름을 가질 경우 같은 타입이어야 한다.
      • interface A {id: number;}
      • interface A {name: string;}
      • let a: A = {id: 1, name: ‘Hong’};
728x90

'JS & TS > TypeScript' 카테고리의 다른 글

[TypeScript] 타입 제한자  (0) 2024.02.15
[TypeScript] Class  (0) 2024.02.13
[TypeScript] Array, Tuple  (0) 2024.02.13
[TypeScript] Function  (0) 2024.02.13
[TypeScript] Object  (0) 2024.02.13