簡體   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