描述函数
这样就是错误的。
interface Db {
host: string
port: number
}
interface InitFunc {
(options: Db): string
}
let myFunc: InitFunc = (opts: Db) => {
xxx
}
其中,()表示函数调用。同时可以看到,interface只是约束类型,并不约束变量名。
描述可实例化(这里没看出来这样写的意义)
通常描述一个类的构造器和字段方法是分开来的。
为啥要这样呢?因为:
无法在类上去实现构造器接口。 。
ts虽然支持new function,但是function必须是返回值为void的函数
这个是模仿教程写的一个例子,这里的接口描述的是一方法,就说描述类型为它的对象得有一个叫test的方法。
描述混合类型
用Counter接口修饰这个函数,它返回的就是这样一东西。首先它是一函数,但是它同时还拥有interval属性和reset方法。暂时理解是这样的。。。
定义实例化方法
同上面的描述实例化,把counter返回的类型换成一个定好的接口就行了: