---
title: "TS型別工具函式"
date: "2026-02"
category: "TS"
tags: ["TS"]
description: "如果要取得某方法返回值的型別，這裡有一個快速的解法。 typeof A指的就是：獲取後面 A 值的型別。前面那個 ReturnType 是 TypeScript 內建的一大堆型別推斷工具之一..."
source: "https://enriquemark.com/zh-hant/posts/TS%E7%B1%BB%E5%9E%8B%E5%B7%A5%E5%85%B7%E5%87%BD%E6%95%B0"
---

如果要取得某方法返回值的型別，這裡有一個快速的解法。

```ts
// 意思就是：prisma 的类型 = getPrisma() 返回的东西的类型
prisma: ReturnType<typeof getPrisma>
```

`typeof A`指的就是：獲取後面 A 值的型別。前面那個 ReturnType 是 TypeScript 內建的一大堆型別推斷工具之一。但在這一塊來講，它的意思是返回`getPrisma`這個方法結果值的型別。

```ts
ReturnType<T>    // 输出给定对象T返回值的类型
Parameters<T>    // 输出给定对象T参数类型（元组）
Awaited<T>       // 输出 Promise 对象返回值的类型
Partial<T>       // 使对象T的所有属性变可选，即让它们都 ?:
Required<T>      // 使对象T的所有属性变必填
Pick<T, K>       // 挑选对象T的部分属性K
Omit<T, K>       // 排除对象T的部分属性K
```

這一大堆可以視為一種內建的型別函式：就是輸入一個型別，返回一個加工後的型別。如果裡面的T本身是一個方法而非物件的話，則需要 `typeof T` 來獲取該方法的值的物件，再將其作為輸入給入型別函式：型別進，型別出。
