TypeScript 命名空间
命名空间是一种逻辑上组织相关代码的方式。这是 TypeScript 内置的,与 JavaScript 不同,在 JavaScript 中,变量的声明会进入全局作用域中,如果在同一个项目中使用多个 JavaScript 文件,则存在可能会覆盖或误解相同变量的情况,这会导致JavaScript中的“全局命名空间污染问题”。
定义一个命名空间
命名空间定义以关键字 namespace 开始,后跟命名空间的名称,如下所示 –
应该通过关键字 export 标记外部命名空间中应访问的类或接口。
要在另一个命名空间中访问类或接口,语法将是namespaceName.className。
如果第一个命名空间在单独的TypeScript文件中,则应使用三斜线引用语法引用它。
以下程序示例了对命名空间的使用:
上述代码可以使用以下命令进行编译和执行:
在编译时,将生成以下JavaScript代码(app.js)。
当上述代码被编译和执行时,会产生以下结果 −
嵌套命名空间
您可以按以下方式在另一个命名空间内定义一个命名空间 –
您可以使用点 (.) 运算符来访问嵌套命名空间的成员,如下所示−
以上代码可使用以下命令进行编译和执行:
编译时,将会生成以下的JavaScript代码(app.js)。
当上述代码被编译和执行时,会产生以下结果−