【问题标题】:Two TypeScript functions with static return types. Syntax differs, but they seem to do the same thing?两个具有静态返回类型的 TypeScript 函数。语法不同,但它们似乎做同样的事情?
【发布时间】:2020-02-03 19:39:07
【问题描述】:

我正在学习 TypeScript,并试图定义一个具有静态返回类型和一些静态参数的函数。这两个定义似乎都这样做,但语法不同。为什么?这些在我想念的某些方面有什么不同吗?

// function with statically typed parameters and return type defined
function addNums(n1: number, n2: number, n3: number): void 
{
    let sum = n1 + n2 + n3;
    alert(sum);
}

// This seems to accomplish the same thing but needlessly more complex
let alsoAddNums : (one: number, two: number, three: number) => void 
    = function(n1, n2, n3) 
    {
        let sum = n1 + n2 + n3;
        alert(sum);
    }

【问题讨论】:

    标签: typescript function types static return


    【解决方案1】:

    第一个是函数定义,第二个是变量,分配了一个函数。如果您需要存储对函数的引用,这就是您所做的:

    function addNums(n1: number, n2: number, n3: number): void 
    {
        let sum = n1 + n2 + n3;
        alert(sum);
    }
    
    let alsoAddNums : (one: number, two: number, three: number) => void = addNums
    

    与它们的交互是相同的。

    【讨论】:

    • 谢谢,这是有道理的。当您可以直接调用函数时,为什么要存储引用?在我看来,您仍然需要在使用引用时添加所有相同的参数。
    • 例如,对于高阶函数是必需的。
    • 好的,明白了。非常感谢。
    • 如果您满意,请不要忘记接受答案。
    猜你喜欢
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多