今天在翻舊code的時候,看到了 Partial 的寫法,所幸來查查這到底是什麼意思.弄懂了之後看code也比較不會想睡,因為終於知道在什麼囉~
以下紀錄心得
什麼是 Partial ?
簡單說Partial 幫你複製了一份 Type ,然後把裡頭的 property 設為 optional ,也就是可有可無
什麼時候適合使用 Partial ?
當你在更新一筆紀錄的時候,假如有三個欄位,而你只想更新一個欄位,那麼你就可以使用 Partial 作為 req 的標示
節錄官方文檔
interface Todo {
title: string;
description: string;
}
function updateTodo(todo: Todo, fieldsToUpdate: Partial<Todo>) {
return { ...todo, ...fieldsToUpdate };
}
那假如我要欄位都必填呢?
Required 是你的好選擇,他就是 Partial 的反面,建立一個 type ,其中屬性設為 required 必填
還有其他類似的 Utility Type 嗎?