TypeScript namespace 命名空間


命名空間一個最明確的目的就是解決重名問題,其定義了標識符的可見范圍,一個標識符可在多個名字空間中定義,它在不同名字空間中的含義是互不相干的。

這樣,在一個新的名字空間中可定義任何標識符,它們不會與任何已有的標識符發生沖突,因為已有的定義都處於其他名字空間中。

 

一、TypeScript 命名空間

TypeScript 中使用 namespace 來定義命名空間,語法格式如下:

namespace SomeNameSpaceName { 
  export interface ISomeInterfaceName {      }  
  export class SomeClassName {      }  
}

以上定義了一個命名空間 SomeNameSpaceName,如果我們需要在外部可以調用 SomeNameSpaceName 中的類和接口,則需要在類和接口添加 export 關鍵字

在另外一個命名空間調用語法格式為:

SomeNameSpaceName.SomeClassName;

如果一個命名空間在一個單獨的 TypeScript 文件中,則應使用三斜杠 /// 引用它,語法格式如下:

/// <reference path = "SomeFileName.ts" />

舉個例子:

page.ts 文件:

 

index.html 文件:

 

二、嵌套命名空間

命名空間支持嵌套,即可以將命名空間定義在另外一個命名空間中

namespace namespace_name1 { 
  export namespace namespace_name2 {
      export class class_name {    } 
  } 
}

成員的訪問使用點號 . 來實現,如下實例:

page1.ts 文件

 

page2.ts 文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM