【问题标题】:Reusable type annotation for function declaration in Typescript? [duplicate]Typescript中函数声明的可重用类型注释? [复制]
【发布时间】:2019-03-18 01:23:14
【问题描述】:
type Func = (foo:string) => void

// function expression
const myFunctionExpression:Func = function(foo) {
  console.log(foo)
}

在上面的 Typescript sn-p 中,我使用类型别名来注释函数表达式中的变量。

类型别名:

type Func = (foo:string) => void

可在另一个函数表达式中重用以减少重复。

我的问题是:有没有办法重用这种类型别名来注释函数声明?

// function declaration
function myFunctionDeclaration(foo:string):void {
  console.log(foo)
}

在网上搜索后,我似乎找不到这样的语法,我错过了什么?

谢谢

更新:

在撰写本文时,github 上有一张请求此功能的票:Suggestion: Type annotations and interfaces for function declarations #22063(感谢 @jcalz 的评论)

【问题讨论】:

  • @jcalz 虽然这个问题导致相同的答案,但它不是重复的。这个问题询问了函数声明的注释语法,而参考中的重复问题询问了注释类方法的语法。这个问题表达了对函数表达式的注释语法的好奇心;没有可用的语法来注释 函数声明。在 JS 及其变体中,函数声明、表达式和方法是相似的,但它们并不相同。
  • 我不声称自己是 StackOverflow 礼仪的仲裁者,但我认为标记为重复的是reasonable。由于这个问题的回答显然令您满意,所以现在这个问题的主要目的是帮助未来的搜索者解决您的问题。我希望他们将受益于与其他问题和答案的显着链接。或者至少我看不出它是如何阻碍他们的。

标签: typescript


【解决方案1】:

在撰写本文时(TypeScript 3.4),没有办法将类型应用于函数声明。

【讨论】:

    猜你喜欢
    • 2022-07-05
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 2020-01-28
    • 1970-01-01
    相关资源
    最近更新 更多