새소식

프론트엔드/typescript

제네릭(Generic) -인터페이스

  • -

안녕하세요 lika-7입니다

이번 시간에는 TypeScript의인터페이스 문법에서 제네릭을 사용하는 방법에 대해 정리하겠습니다

인터페이스에서 제네릭 선언

//TypeScript

interface MyData<T>{ //제네릭 타입 별칭(제네릭 타입 매개변수)을 지정하고 <T>
    name: string
    value: T // value는 제네릭 타입 매개변수에 할당된 타입으로 지정하겠다는 말
}
1. 인터페이스에서 제네릭 타입(제네릭 타입 별칭) 별칭을 지정합니다. <T> 2. value 속성은 제네릭 타입 변수에 할당된 타입으로 지정하도록 선언 하였습니다

인터페이스에서 제네릭 사용

//TypeScript

//인터페이스에서 제네릭 선언
interface MyData<T>{ //제네릭 타입 별칭(제네릭 타입 매개변수)을 지정하고 <T>
    name: string
    value: T // value는 제네릭 타입 매개변수에 할당된 타입으로 지정하겠다는 말
}
//인터페이스에서 제네릭 사용
const dataA: MyData<string> = { // 인터페이스로 MyData를 이용하고 제네릭 타입 변수는 string 타입을 사용하겠다고 함
    name: 'Data A',
    value: 'Hello world!'
}
const dataB: MyData<number> = { // 인터페이스로 MyData를 이용하고 제네릭 타입 변수는number타입을 사용하겠다고 함
    name: 'Data B',
    value: 1234
}
const dataC: MyData<boolean> = { // 인터페이스로 MyData를 이용하고 제네릭 타입 변수는boolean타입을 사용하겠다고 함
    name: 'Data C',
    value: false
}
const dataD: MyData<number[]> = { // 인터페이스로 MyData를 이용하고 제네릭 타입 변수는number 배열 타입을 사용하겠다고 함
    name: 'Data D',
    value: [1,2,3,4]
}
1. dataA가 MyData 인터페이스를 통해서 타입을 지정해 줍니다. 2. 이 때 <string>을 이용해 string 형식의 타입을 제네릭 타입 변수로 지정하겠다 선언하였습니다. 3. 이에 dataA의 value 타입은 string을 사용하도록 지정하였습니다 4. dataB, dataC, dataD 또한 각각의 제네릭 타입변수를 지정하여 객체의 속성을 초기화 하였습니다.

정리

💡
인터페이스의 데이터 타입은 제네릭 변수를 통해 유연하게 지정이 가능합니다

'프론트엔드 > typescript' 카테고리의 다른 글

패키지의 타입선언  (0) 2023.09.21
제네릭(Generic) -제약조건(constraint)  (0) 2023.09.20
제네릭(Generic) -클래스  (0) 2023.09.20
제네릭(Generic) -함수  (0) 2023.09.20
클래스와 접근 제어자  (0) 2023.09.19
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.