首页 > 解决方案 > 带有接口分配的打字稿双箭头功能

问题描述

我正在阅读以下代码:

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

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

..我不明白指令:

Contact = (value)

这是什么意思?'Contact' 是一个接口,为什么那个表达式不是:

(value: Contact)

我对这个函数声明感到困惑,谁能帮我理解?谢谢

标签: typescripttypescript-typingsarrow-functions

解决方案


这是界面的一部分。=> 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

推荐阅读