개발이 좋아서/TypeScript가 좋아서

react - Typescript_interface, keyof

zoaseo 2022. 7. 26. 10:14

interface

타입스크립트 여러 객체를 정의하는 일종의 규칙, 구조

 

interface IUser {
    readonly name: string,

    age: number,

    isAdult? : boolean

}

let user1: IUser = {

    name: 'Neo',

    age: 20,

    isAdult: true

}

let user2: IUser = {

    name: 'Neo',

    age: 16,

}

 

interface IName {

    (매개변수: 매개변수타입) : 리턴 타입지정

}

interface IGetUser {

    (name: string) : IUser

}

 

함수 오버로드

이름은 같지만 매개변수 타입과 반환 타입이 다른 여러 함수를 가질 수 있는 것

함수 오버로드를 통해 다양한 구조의 함수를 생성하고 관리할 수 있습니다.

 

keyof

인덱싱 가능 타입에서 keyof를 사용하면 속성이름을 타입으로 사용할 수 있음

인덱싱 가능 타입의 속성 이름들이 유니온 타입으로 적용됨

interface ICountries {

    KR: '대한민국',

    US: '미국',

    CP: '중국'

}

let country: ICountries[keyof ICountries];

country = "대한민국";

let country2: keyof ICointries;

country2 = 'KR';

 

인터페이스 확장