(十六)函数作为参数值、变量值或对象时的类型

2023-02-22 15:00:41 浏览数 (1)

# 一、函数作为参数值、变量值或对象时的类型

说明

函数作为参数值、变量值或对象时它的类型该如何限定

  • 问题
代码语言:javascript复制
// 这个时候限定传入的参数要符合这种类型参数呢
function request(callback) {
    callback('sucess')
}
  • 解决方式
  • 语法:callback: (名字: 类型) => 返回值类型,没有返回值用 void
代码语言:javascript复制
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')
}

# 二、对象 方法的 类型的方法

  • 对于对象里方法的类型也是一样的
代码语言:javascript复制
interface Product {
    getPrice: () => number    // 不接受任何参数 返回 number 类型的值
}

0 人点赞