繁体   English   中英

TypeScript - 键入函数的最佳方法?

[英]TypeScript - the best approach for typing functions?

我正在学习 TypeScript,我有一个关于注释函数类型的问题。

看这个简单的例子:

export const add = (num1: number, num2: number):number => {
  return num1 + num2;
};

这对我来说感觉很好。 arguments 有一个类型,函数的返回类型也有注释。

现在考虑一下,这也是有效的语法:

export const add2:(num1: number, num2: number) => number = (num1, num2) => {
  return num1 + num2;
};

我们正在输入变量add2本身。 当然。 我的 linter 对其中任何一个都缺少返回类型而闭口不谈。

我什至可以两者都做:

export const add3:(num1: number, num2: number) => number = (num1: number, num2: number):number => {
  return num1 + num2;
};

我的问题是 - 在这里做方法 1、2 或 3 有什么优点或缺点吗? 他们之间有更惯用的风格吗?

当您声明新变量并在同一语句中分配它时,无需显式指定类型 - 它将自动假定。 因此,对于您问题中的用例,第一个选项将是最佳选择。

如果您需要声明一个变量并稍后为其分配一个值(函数) - 更简洁的方法是使用接口。 这些方面的东西:

interface AddFunc {
  (num1: number, num2:number): number;
}

let add: AddFunc;
add = (a: number, b: number): number => a + b;
add(1, 2);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM