gpt4 book ai didi

typescript - 在 typescript 中,如何在使用前声明函数 - C 风格

转载 作者:搜寻专家 更新时间:2023-10-30 21:10:41 24 4
gpt4 key购买 nike

我有一个函数,例如

function init(model: any, eventData: UserApplicationModel) : any

我想避免将类型信息与函数源代码混合在一起。我试过(在同一个源文件中):

declare function init(model: any, eventData: UserApplicationModel) : any;
function init(model, eventData) {
// source code here
}

但我收到错误 TS2384:过载签名必须全部是环境或非环境

我的问题是,是否有可能预先声明一个函数,这样就不必重复类型信息?那太好了,在定义函数时添加相同类型的类型信息在某些情况下会导致行很长。


最佳答案

您可以使用类型定义函数签名,例如:

type init = (model: any, eventData: UserApplicationModel) => any;

然后通过将匿名函数表达式分配给该类型的变量来初始化它:

var init: init = function (model, eventData) {
...
};

即使在函数体内,这也会为您提供完全的类型安全。这在盲目地将 C 代码转换为 TypeScript 时可能很有用。

关于typescript - 在 typescript 中,如何在使用前声明函数 - C 风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42046784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com