typescript - 带有接口分配的打字稿双箭头功能
问题描述
我正在阅读以下代码:
export interface Contact {
contactOptions?: string[];
}
const mapToContact: (
value: Record<string, any>
) => Contact = (value) => {
return {
...
}
};
..我不明白指令:
Contact = (value)
这是什么意思?'Contact' 是一个接口,为什么那个表达式不是:
(value: Contact)
我对这个函数声明感到困惑,谁能帮我理解?谢谢
解决方案
这是界面的一部分。=> 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
推荐阅读
- swift - 播放保存在文档目录中的视频
- wordpress - wp_redirect 在自定义插件中不起作用
- reactjs - 是否有使用一个代码库开发 Web 和移动应用程序的框架?
- php - HTTP_X_FORWARDED_FOR 显示 ipv6 和 ipv4
- python - 遍历读取前 N 个值的文件
- vue.js - Vuex 存储数据总是驻留在内存中?
- python - 使用 tf.Dataset 训练的模型进行推理
- java - 使用 Scroll 从 Elasticsearch 检索大型结果需要很长时间
- encryption - ECIES 是公共加密算法吗?
- python - 在 Windows 命令提示符中运行 Python 脚本时如何修复 NameError