楔子
Arrow Function 很常使用,但它的 Generic Type 有點不太好記,列舉一下幾種
Generic Arrow Functions
正常的函數 Generice Type 的格式
function firstOrNull<T>(arr: T[]): T | null {
return arr.length === 0 ? null : arr[0];
}
General
const firstOrNull = <T>(
arr: T[]
): T | null =>
arr.length === 0 ? null : arr[0];
Extends trick
const firstOrNull = <T extends unknown>(
arr: T[]
): T | null =>
arr.length === 0 ? null : arr[0];
Comma trick
const firstOrNull = <T,>(
arr: T[]
): T | null =>
arr.length === 0 ? null : arr[0];
資料來源