我習慣理解一個東西,可以套用日常的生活經驗,找出類比、擬人化會幫助我更好理解,今天的議題是最近看到 Type vs Interafce 看起來寫法差不多,讓我興起兩者有什麼不一樣的疑問,所以回頭去找相關資料,眾所周知有位大大把TypeScript 寫得很清楚又平易近人,我在閱讀其中兩篇幫助我了解 Type 用法,並記錄心得
https://ithelp.ithome.com.tw/articles/10215586
什麼是 interface ?
有什麼特性?
與 type 有什麼不一樣?
小結
過去總會分不清兩者,原因是其用法其實多少有些類似,但又有些微不同,看完本篇之後,我發現,不應該先從特性去理解,應該由本質去理解,會比較容易,type 之於 interface 有點 沙發椅 之於 房屋室內設計圖,沙發椅型別一但被定義,那就不能變動,若有尺寸需要,可以再定義出 加長版沙發椅(想表達複合概念),室內設計圖則可能擺入沙發椅型別在每個空間中,但我完成客臥設計後,我可以視為客臥的擺設藍圖為其他空間之基礎規格,因此我需要設計主臥空間配置,就可以直接繼承(沿用)客臥配置去做變更