Interfaces
Interfaces 描述 value 的外形
class Clock implements IClockInterface {}
按惯例,interfaces 的名字以 ‘I’ 开始。
Object types
interface ISearchFunc {
// 用 call signature 描述 function type
(source: string, subString: string): boolean;
}
let mySearch: ISearchFunc = function (src, sub) {
let result = src.search(sub);
return result > -1;
}
Function types
描述 function types
interface ISearchFunc {
// 用 call signature 描述 function type
(source: string, subString: string): boolean;
}
let mySearch: ISearchFunc = function (src, sub) {
let result = src.search(sub);
return result > -1;
}
函数参数的名字可以跟 call signature 不一样。
函数参数和返回值可以省略 types, 让 compiler 推断。
Indexable Types
Class Types
Interfaces 可以被 class 实现,一个 class 只能实现一个 interface。
class Clock implements IClockInterface {}
extends
Interfaces 可以继承,并且一个 interface 可以继承多个 interfaces。
interface ISquare extends IShape, IPenStroke {}