zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

对象 函数 类型 作为 十六 参数值 变量值
2023-06-13 09:17:09 时间

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

说明

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

  • 问题
// 这个时候限定传入的参数要符合这种类型参数呢
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 类型的值
}