TYPESCRIPT

[Typescript] 인터페이스란? (interface)[1]

seominki 2024. 7. 9. 09:36

타입스크립트에서 인터페이스란?

객체의 타입을 정의할 때 사용하는 문법

인터페이스로 타입을 정의할 수 있는 것

  • 객체의 속성과 속성 타입
  • 함수의 파라미터와 반환 타입
  • 함수의 스펙 (파라미터 개수와 반환값 여부 등)
  • 배열과 객체를 접근하는 방식
  • 클래스

객체타입 정의

let minki = { name: "민기", age: 29};

interface User {
    name: string,
    age: number
}

let minki: User = { name: "민기", age: 29};

// 인터페이스에 정의하지 않은 속성이 있거나 속성의 타입이 다른 경우 에러
let minki: User = { name: "민기", age: "29"};
let minki: User = { name: "민기", age: 29, hobby: "음악 감상"};

함수 파라미터의 타입 정의

interface Person {
    name: string,
    age: number
}

function logAge(user: Person) {
    console.log(user.age);
}

let minki = { name: "민기", age: 29};
logAge(minki);
// 누락된 속성이 있다면 에러
let minki_2 = { name: "민기"};
logAge(minki_2);

함수 반환 타입 정의

interface Person {
    name: string,
    age: number
}

function getUser(user: Person): Person {
    return user;
}

// 해당 변수가 Person 인터페이스로 추론이 된다
let minki = getUser({ name: "민기", age: 29});