TypeScript-인터페이스란

hannah·2023년 9월 27일
0

JavaScript

목록 보기
103/121

인터페이스(Interface)

  • 일반적으로 변수, 함수, 클래스에 타입 체크를 위해 사용된다.
  • 직접 인스턴스를 생성할 수 없고 모든 메소드가 추상 메소드이다.
  • 추상 클래스의 푸상 메소드와 달리 abstract 키워드는 사용할 수 없다.
    (ES6는 인터페이스를 지원하지 않지만 TypeScript는 인터페이스를 지원한다.)

인터페이스를 사용하는 이유

  • 타입의 이름을 짓고 코드 안의 계약을 정의한다.
  • 프로젝트 외부에서 사용하는 코드의 계약을 정의하는 강력한 방법이다.
  • 객체의 스펙(속성과 속성의 타입,팜수의 파라미터,함수의 스펙(파라미터, 반환 타입 등),배열와 객체에 접근하는 방식,클래스 와 같은 범주에 대해 계약을 정의할 수 있다.

인터페이스 사용법

function sayName(obj: { name: string }) {
  console.log(obj.name);
}

let person = { name: "june" };

sayName(person);

위와 같은 코드를 인터페이스를 추가하여 아래의 코드처럼 함수 매개변수 프로퍼티를 정의할 수 있다.

interface Person {
  name: string;
}

function sayName(obj: Person) {
  console.log(obj.name);
}

let person = { name: "june" };

sayName(person);

정의한 프로퍼티 값을 누락하거나 정의하지 않는 값을 인수로 전달 시 컴파일 에러가 발생한다.

0개의 댓글