ts 函数声明绑定疑问

type Itest = (param:string):void;
// 这样实现和声明绑定到一起一个
const test:Itest = (param) => {}


//但是这种怎么绑定 ?
function test1 (param) {
}

//这样又不行
function test1:Itest (param) {
}
阅读 1.8k
2 个回答

使用 function 定义函数是连声明带定义一起的。

声明函数类型可以使用 type xx = (arg_list) => return_type 的形式来声明,也可以使用接口的形式来声明,比如

interface SomeFunc {
    (arg_list): return_type
}

如果想为某个函数指定特定类型,需要把这个函数作为“值”,值是应该赋值给变量/常量的,所以应该使用 const/let/var 来声明,而不是用 function

const test1: SomeFunc = function(...) { ... }

去看看我的视频教程不:TypeScript从入门到实践 【2021 版】 - 思否编程

image.png

image.png

这个是不对的吧:

type Itest = (param: string): void;

应该是:

type Itest2 = (param: string) => void;

函数声明的ts写法应该是:

function sum(x: number, y: number): number {
    return x + y;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题