说明
函数作为参数值、变量值或对象时它的类型该如何限定
// 这个时候限定传入的参数要符合这种类型参数呢
function request(callback) {
callback('sucess')
}
callback: (名字: 类型) => 返回值类型,没有返回值用 void
function request(callback: (result: string) => void) {
callback('sucess')
}
// 这里因为上面定义的时候已经设置的 result 的类型所以他能够自动推断出类型
request((result) => console.log(result))
// 使用 `type` 关键词写法
type RequesCallback = (result: string) => void
function request(callback: RequesCallback) {
callback('sucess')
}
interface Product {
getPrice: () => number // 不接受任何参数 返回 number 类型的值
}