我无法定义接受可变数量参数的函数成员的接口 . 以下面的对象文字为例:
var obj = {
func: () => {
for(var i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
}
};
我希望能够定义一个界面,例如:
interface IExample {
func: ( ??? ) => void;
}
这样下面的代码可以编译而不会出错:
var test = (o: IExample) {
o.func("a");
o.func("a", "b");
o.func("a", "b", "c");
...
}
3 回答
TypeScript使用ECMAScript 6传播提议,
但添加了类型注释,所以这看起来像,
只是要添加到chuck 's answer, you don' t需要有一个如此定义的接口 . 您可以直接在方法中执行
...
:然后你可以称之为:
要么
如果未使用... args []参数,Typescript仍会在Javascript中创建一个数组并将参数复制到它 .
为避免这种不必要,您可以为函数和函数制作原型,因此: -