Может ли кто-нибудь объяснить мне эту подпись метода машинописного текста? - PullRequest
0 голосов
/ 07 августа 2020

Я начал со следующей лямбда-функции в машинописном тексте:

export const handler: APIGatewayProxyHandler = async (event: APIGatewayProxyEvent, context: Context): Promise<APIGatewayProxyResult> => {
  
}

Узнав о машинописном тексте, я знаю, что аргументы в функции имеют типы (APIGatewayProxyEvent и Context соответственно). Точно так же тип возвращаемого значения функции определяется добавлением его в конце после двоеточия (Promise<APIGatewayProxyResult>).

Здесь все еще используется тип: handler: APIGatewayProxyHandler

Что означает этот тип? Что это такое? Это определенно не возвращаемый тип метода, тогда что это такое?

Я просмотрел различные блоги, посвященные машинописным текстам, и все еще не смог найти никакой информации об этом.

Спасибо!

1 Ответ

1 голос
/ 07 августа 2020

Функции также могут иметь типы, например:

type MyFunc = (a: number) => string;

Затем, когда вы создаете функцию, вы можете присвоить ей этот тип:

const actualFunction: MyFunc = (a: number): string {
  return 'hi';
}

Присвоение константе типа принудительно что ваш аргумент и возвращаемые типы соответствуют сигнатуре типа, и если вы случайно испортили возвращаемый тип, наличие APIGatewayProxyHandler вызовет жалобу на машинописный текст.

...