iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0
自我挑戰組

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

TypeScript | namespace 心得紀錄

  • 分享至 

  • twitterImage
  •  

這邊一樣是在研究 D14 介面的函式超載運用,又提到 namespace 的知識點,所以回頭來補相關知識,簡言之應用情境,當我們因需求,需要第三方套件以外的功能時,會有需要針對第三方套件進行一些前處理、後處理,這時候可以應用到 namespace 的 命名空間融合 以下為心得紀錄

Day 35. 戰線擴張・命名空間 X 組織分明 - TypeScript Namespaces Introduction - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天

  1. 什麼是 namespace , 有什麼用處?以下引述作者的解釋,我覺得非常貼切易懂
    1. 建立命名空間,組織並包裝程式碼,達成隔離變數命名,不互相污染變數的情況
  2. 重點紀錄
    1. 命名空間宣告,使用關鍵字 “namespace”
    2. 若需要使用 命名空間之 屬性、方法,必須先要 export 方可使用
    3. 支援巢狀命名空間,但記得要“export”,方可使用
    4. 可 export 變數、函式、型別(Types)、介面、類別、命名空間,唯獨 值不可export
    5. 命名空間融合,相同命名空間,可以有聯集的結果,不同區塊同樣命名空間,可使用各自輸出之功能,但不可以覆蓋任一命名空間宣告之功能
    6. 命名空間融合 vs 介面融合
      1. 介面宣告的是規格,而命名空間是一系列功能包裝,為了防止全域污染
      2. 兩者皆可動態擴充(融合),但擴充的意義不同,介面聚焦在規格,但命名空間則聚焦程式包裝,範圍更廣
      3. 函式超載僅有介面支援,但是命名空間則沒有,因為本質意義不同

上一篇
TypeScript | nerver 型別 心得紀錄
下一篇
[心得]資料異動行為,需要有意識的風險管理
系列文
日常任務成長紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言