Функция двойной стрелки Typescript с назначением интерфейса - PullRequest
0 голосов
/ 24 марта 2020

Я читаю следующий код:

export interface Contact {
    contactOptions?: string[];
}

const mapToContact: (
    value: Record<string, any>
  ) => Contact = (value) => {
    return {
        ...
    }
};

.. и я не понимаю инструкции:

Contact = (value)

Что это значит? «Контакт» - это интерфейс, почему это выражение не:

(value: Contact)

Меня смущает это объявление функции, может кто-нибудь помочь мне понять? Спасибо

1 Ответ

1 голос
/ 24 марта 2020

Это часть интерфейса. => Contact - это тип возвращаемого значения функции.

Это проще увидеть следующим образом:

export interface Contact {
    contactOptions?: string[];
}

type MapToContactInterface = (value: Record<string, any>) => Contact;

const mapToContact: MapToContactInterface = (value) => {
    return {

    }
};

В нем говорится, что функция mapToContact имеет тип возврата Contact.

Форматированный:

const mapToContact: // Variable declaration
    (value: Record<string, any>) => Contact // Variable type
    = (value) => {  // Parameter list
        return {    // Function body
                    // Function body
        }           // Function body
    };              // Function body
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...