[javascript] 인터페이스의 TypeScript 선택적 기능

선택적 기능을 사용하여 TypeScript에서 인터페이스를 만들 수 있습니까?

interface IElement {
  name: string;
  options: any;
  type: string;
  value?: string;
  validation(any): boolean; // --> should be optional.

}



답변

현재 TypeScript가 인터페이스에서 함수 선언을 허용하는 세 가지 구문이 있습니다.

validation1 개의 매개 변수 ( 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;


답변