선택적 기능을 사용하여 TypeScript에서 인터페이스를 만들 수 있습니까?
interface IElement {
name: string;
options: any;
type: string;
value?: string;
validation(any): boolean; // --> should be optional.
}
답변
현재 TypeScript가 인터페이스에서 함수 선언을 허용하는 세 가지 구문이 있습니다.
validation
1 개의 매개 변수 ( any
유형)와 boolean
반환 값을 사용하는 함수 의 예를 사용하여 :
validation: {(flag: any): boolean};
또는 최신 구문 :
validation(flag: any) : boolean;
또는 대안은 다음과 같습니다.
validation: (flag: any) => boolean;
해결책:
따라서 이전 구문으로 선택 사항으로 만드는 것은 쉽습니다.
validation?: {(flag: any): boolean};
두 번째 구문 사용 (최근 추가-덕분에 @toothbrush
)
validation?(flag: any) : boolean;
또는 세 번째 구문에서 (찾은대로) :
validation?: (flag: any) => boolean;