iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0
自我挑戰組

日常任務成長紀錄系列 第 26

TypeScript | interface 研究心得紀錄 1

  • 分享至 

  • xImage
  •  

我習慣理解一個東西,可以套用日常的生活經驗,找出類比、擬人化會幫助我更好理解,今天的議題是最近看到 Type vs Interafce 看起來寫法差不多,讓我興起兩者有什麼不一樣的疑問,所以回頭去找相關資料,眾所周知有位大大把TypeScript 寫得很清楚又平易近人,我在閱讀其中兩篇幫助我了解 Type 用法,並記錄心得

https://ithelp.ithome.com.tw/articles/10215586

  1. 什麼是 interface ?

    1. 機動藍圖(這個命名真的讓我跪,簡單明暸),規格概念,可以被組裝、延展
  2. 有什麼特性?

    1. 可以被拓展,讓開發可以表達抽象概念,且複用
  3. 與 type 有什麼不一樣?

    1. 介面(interface),規格(藍圖)概念,用來作為實作時的參考,
    2. 型別(type),靜態資料型態,靜態有固定不變的意思,雖可被複合使用,但本質還是資料型態
  4. 小結

    過去總會分不清兩者,原因是其用法其實多少有些類似,但又有些微不同,看完本篇之後,我發現,不應該先從特性去理解,應該由本質去理解,會比較容易,type 之於 interface 有點 沙發椅 之於 房屋室內設計圖,沙發椅型別一但被定義,那就不能變動,若有尺寸需要,可以再定義出 加長版沙發椅(想表達複合概念),室內設計圖則可能擺入沙發椅型別在每個空間中,但我完成客臥設計後,我可以視為客臥的擺設藍圖為其他空間之基礎規格,因此我需要設計主臥空間配置,就可以直接繼承(沿用)客臥配置去做變更


上一篇
TypeScript | Type 研究心得紀錄 2
下一篇
TypeScript | nerver 型別 心得紀錄
系列文
日常任務成長紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言