寫到第 20 天,關於如何建立 Utility Type 所需的知識也差不多吿一個段落,今天就來做個簡單的小結。
在前幾天的範例中,讀者會發現到要寫 Utility Types 比較簡單的方式會是針對一個實際的型別去達到你想完成的功能,接著再把可以替換成變數的內容抽換出來。因此如果要建立自己的 Utility Types 可以有兩個簡單的步驟:
如果是要試著理解別人寫的 Utility Types 的話,同樣有幾個重點:
一開始看別人寫的 Utility Types 時很容易陷在茫茫的 <>
、=
、?
、:
這些符號當中,適時的建立斷句對於幫助理解就變得很重要。在建立好了斷句後,可以試著用一些實際的型別帶進去參數當中,看看會得到什麼結果,或者在改變 Conditional Type ?
或 :
後回傳的結果,改成比較簡單的一些回傳值,幫助自己判斷。
過去我在打開型別定義的原始碼時,常常覺得像是在看天書一樣,完全不知道要這麼下手,但實際上在有了這些知識之後,這些東西並沒有想到這麼難(不是不難,而是至少能夠逐漸理解),因此希望透過這 20 天的主題,能夠讓讀者不再害怕原始碼:
最後,對這個主題能夠開始有所涉略,很重要的是 OneDegree 同事們給我的啟發,在建立型別的過程中很容易打結,這時候有能一起討論的同事,會是很重要的一盞明燈,因此特別感謝他們。
但鐵人賽還有 10 天,明天要寫什麼呢?明天再來想想看吧!