TypeScript 命名空间定义
发布时间:2023-03-31 08:49:46 所属栏目:教程 来源:
导读:命名空间同样是为了避免变量命名冲突,TypeScript 官方将命名空间视为“内部模块”,上节介绍的模块被视为“外部模块”。
如果声明相同名称的命名空间,TypeScript 编译器会将其合并为一个声
如果声明相同名称的命名空间,TypeScript 编译器会将其合并为一个声
命名空间同样是为了避免变量命名冲突,TypeScript 官方将命名空间视为“内部模块”,上节介绍的模块被视为“外部模块”。 如果声明相同名称的命名空间,TypeScript 编译器会将其合并为一个声明,具体的合并规则会在下节介绍。 使用 namespace 关键字来声明命名空间。 TypeScript 的命名空间可以将代码包裹起来,只对外暴露这个命名空间对象,通过 export 关键字将命名空间内的变量挂载到命名空间对象上。 命名空间本质上就是一个对象,将其内部的变量组织到这个对象的属性上: namespace Calculate { const fn = (x: number, y: number) => x * y export const add = (x: number, y:number) => x + y } 来看其编译后的结果: "use strict"; var Calculate; (function (Calculate) { var fn = function (x, y) { return x * y; }; Calculate.add = function (x, y) { return x + y; }; })(Calculate || (Calculate = {})); 那么,我们就可以访问 Calculate 对象上的 add 属性了: Calculate.add(, ) 命名空间主要是为解决全局作用域内重名问题,而这一问题随着模块化编程的使用,已经得到了解决。 通过本节的介绍,知道命名空间的使用方法即可,在 TypeScript 中一般不推荐使用。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |