我正在学习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);
}
第一个是函数定义,第二个是分配了功能的变量。如果您需要存储对函数的引用,这就是您要执行的操作:
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
与它们两者的相互作用是相同的。