打字稿混合类型
Typescript hybrid type
我目前正在为一个无法修改的私有JavaScript文件编写一个*d.ts文件。我目前正在尝试在接口中定义一个可以是字符串或函数的属性:
var obj = {
href: function(data) { return "/page/" + data.id; }
}
或
var obj = {
href: "page/list.html"
}
在查看了有关接口的打字稿文档后,我遇到了以下示例,但它不允许我将函数定义为可选类型,如下所示:
interface IObj {
href: {
(...any)?: any;
string? ;
};
}
这可能吗?还是我以错误的方式接近这一点?
您真正要查找的是Union
类型(用 |
表示)。对于您的情况:
interface IObj {
href: string | { (...any): any };
};
var obj: IObj = {
href: "page/list.html"
}
var obj: IObj = {
href: function (data) { return "/page/" + data.id; }
}
// ERROR
var obj: IObj = {
href: 123
}
查看示例
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 如何在DOM元素上按类型构建此函数
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- 混合类型提前.js和引导 3.
- Mongoose带有日期的混合类型字段
- 打字稿混合类型
- 是否可以混合使用 Eclipse 项目类型
- 当数据类型混合时,访问谷歌电子表格中的数据
- 将混合数据类型数组从php传递到javascript数组
- 设置混合架构类型错误
- Google Maps:使用混合类型坐标格式
- 混合内容类型在宏伟的弹出
- 猫鼬和schema的麻烦,类型,混合
- 从本地文件读取混合类型
- 我怎么能得到所有的元素和值从一个表单与jquery混合类型
- 提交按钮不能使用混合单选和复选框输入类型
- JavaScript对具有混合类型值的数组进行排序
- 混合使用流类型注释
- Javascript sort()混合数据类型数组