函数类型描述参数与返回值的形状,写法是 (a: number, b: string) => boolean。定义回调、工具函数类型别名时最常用:type Handler = (e: Event) => void,然后所有事件处理函数都按 Handler 约束。函数类型让接口契约与实现分离,依赖注入与策略模式都靠它表达。
函数类型还可以带泛型、可选参数与默认值:function pick
type Handler = (e: Event) => void; function on(el: Element, type: string, fn: Handler) { el.addEventListener(type, fn); } function pick<T>(list: T[], n = 1): T[] { return list.slice(0, n); } on(document.body, 'click', (e) => { console.log(e.timeStamp); }); pick([1, 2, 3], 2); // [1, 2]