两个具有静态返回类型的 TypeScript 函数。语法不同,但它们似乎做同样的事情?
Posted
技术标签:
【中文标题】两个具有静态返回类型的 TypeScript 函数。语法不同,但它们似乎做同样的事情?【英文标题】:Two TypeScript functions with static return types. Syntax differs, but they seem to do the same thing? 【发布时间】: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);
【问题讨论】:
【参考方案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
与它们的交互是相同的。
【讨论】:
谢谢,这是有道理的。当您可以直接调用函数时,为什么要存储引用?在我看来,您仍然需要在使用引用时添加所有相同的参数。 例如,对于高阶函数是必需的。 好的,明白了。非常感谢。 如果您满意,请不要忘记接受答案。以上是关于两个具有静态返回类型的 TypeScript 函数。语法不同,但它们似乎做同样的事情?的主要内容,如果未能解决你的问题,请参考以下文章