TypeScript에서 인터페이스를 만드는 방법
인터페이스와 클래스의 차이점
인터페이스
클래스
새 유형 정의
새 유형 정의
속성(서명)
속성(구현 포함)
방법(서명)
방법(구현 포함)
인스턴스화할 수 없음
인스턴스화 가능
인터페이스 생성
interface
키워드는 인터페이스 이름 다음에 인터페이스를 생성하는 데 사용됩니다.interface Employee {
name: string;
title: string;
}
여기서
Employee
는 2개의 문자열 속성 'name'과 'title'이 있는 인터페이스 이름을 나타냅니다.복잡한 예를 살펴보자
interface Manager extends Employee {
department: string;
numOfEmployees: number;
scheduleMeeting: (topic: string) => void;
}
이제 이
Manager
인터페이스는 Employee
인터페이스의 모든 속성을 상속합니다. 즉, Manager
인터페이스에는 이름, 직위, 부서 및 numOfEmployees의 4가지 속성이 있습니다.위에서 언급했듯이 인터페이스에는 메서드 구현이 없습니다. 따라서
Manager
인터페이스를 상속하는 모든 개체는 이에 따라 scheduleMeeting
메서드를 정의합니다.인터페이스 구현
위에서 언급한
Employee
인터페이스를 구현하는 모든 개체에는 문자열 유형의 속성이 2개 있어야 합니다. let newEmployee1: Employee = {
name: 'Sarah',
title: 'Software Engineer',
}
다른 예를 보자
let newEmployee2: Employee = {
name: 'James',
title: 'Team Lead',
teamName: 'Alpha squad'
}
이제
newEmployee2
에는 하나의 추가 속성teamName
이 있지만 객체에 인터페이스의 모든 필수 속성이 있는 한 인터페이스를 상속/확장할 수 있기 때문에 여전히 Employee
인터페이스를 상속합니다.이를 구조형 시스템이라고도 합니다.
인터페이스의 선택적 멤버
함수의 선택적 매개변수에서 했던 것처럼 인터페이스의 선택적 멤버를 선언할 수도 있습니다.
interface Person {
firstName: string;
lastName: string;
midName?: string;
}
인터페이스를 구현하는 동안 인터페이스의 선택적 멤버를 건너뛸 수 있으며 컴파일러는 오류를 제공하지 않습니다.
부담없이 접속하세요
Reference
이 문제에 관하여(TypeScript에서 인터페이스를 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aneeqakhan/how-to-create-interfaces-in-typescript-24gp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)