是否可以在TypeScript中表达“此接口的实例具有一个称为'num'的数字,一个名为'func'的函数,并且可能具有任意多个具有未指定名称且为字符串类型的属性”?我想它可能看起来像这样:
interface MyInterface {
num: number;
func: Function;
*: string;
}
Run Code Online (Sandbox Code Playgroud)
您可能想告诉我,这是糟糕的API设计,但是我正在为第3方库编写定义文件,因此我无法更改:-(。
最接近的语法如下:
interface MyInterface {
[index: string]: any;
num: number;
func: Function;
}
var a: MyInterface = {
num: 123,
func: function () {},
prop1: 'Hello',
prop2: 'World'
};
Run Code Online (Sandbox Code Playgroud)
必须使用类型“ any”,因为属性“ num”和“ func”不是字符串:
尽管索引签名是描述数组和“字典”模式的强大方法,但它们也强制所有属性与其返回类型匹配。
资料来源:《TS手册》。
| 归档时间: |
|
| 查看次数: |
497 次 |
| 最近记录: |