iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
自我挑戰組

從新手開始TypeScript系列 第 27

Day27-TypeScript(TS)的命名空間(Namespace)與模組(Modules)

今天要來帶大家認識一下TypeScript(TS)的命名空間(Namespace)與模組(Modules)
最主主要會使用到的原因是為了解決在同個專案內命名相同的問題,
意思是說,
即使在不同檔案內,
最後把所有檔案編成同一支,
那可能會導致自己與別人命名了同個函式而其中一個被取代,
而導致功能錯誤的問題,
這時若是使用命名空間與模組便可將每個你想分開的地方分開,
這問題就可以解決了。

模組包含兩種,

  • 內部模組(Internal modules)
  • 外部模組(External modules)
    用於檔案管理
    並可動態載入到程式中,

而在TS1.5版本之後變更此兩種模組命名方式,
內部模組(Internal modules) => 命名空間(Namespace)
外部模組(External modules) => 模組(Modules)

那麼今天先來簡單的認識一下命名空間與模組吧。
這兩個相似的地方在於
皆用來組織程式碼,並避免名稱衝突

不同的地方我們用表格來看看,

命名空間(Namespace) 模組(Modules)
全域範圍(Global Scope) 有自己的範圍(Scope)
適用於小型應用程式,且命名空間定義在專案之中 適用於外部程式庫
不須依賴模組載入器 不須依賴模組載入器(ES6以前需要)

注意事項

  • 一個應用程式中,不要混運命名空間與模組。
  • 建議盡量使用模組來取代命名空間,大部分的外部程式庫都是包裝成模組,以便於共享。
  • 在模組中不要使用命民空間。

今日結語

今天講的命名空間與模組
相信沒接觸過的人肯定很陌生,
那今天只是讓大家有初步的了解,
之後會再分別介紹,
大家加油加油。


上一篇
Day26-TypeScript(TS)的函式多載(Overloads)
下一篇
Day28-TypeScript(TS)的命名空間(Namespace)
系列文
從新手開始TypeScript30

尚未有邦友留言

立即登入留言