typescript中的命名空间

命名空间和模块不要混用,不要在一个模块中使用命名空间,命名空间最好在一个全局的环境中使用

namespace Shape {
    const pi = Math.PI
    export function cricle(r: number) {
        return pi * r ** 2
    }
}

namespace中可以定义任意多的变量,这些变量只能在shape下可见,如果要在全局内可见的话就要使用export关键字,将其导出.
本质上是闭包,用来隔离作用域。
ts保留了这种方式,但是在我们平时的模块化开发中,也没必要使用命名空间。

如果在一个js中的namespace过于庞大,可以写多个js文件,他们共享同一个命名空间

互相引用的时候 /// <reference path = "a.ts" >

访问:
Shape.cricle()

起别名:import cricle = Shape.cricle()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 当使用第三方库时,我们需要引用它的声明文件,才能获得对应的代码补全、接口提示等功能。这是因为前端第三方库大多都是非...
    CondorHero阅读 4,951评论 1 5
  • 这篇文章描述了如何在TypeScript里使用命名空间(之前叫做“内部模块”)来组织你的代码。 就像我们在术语说明...
    2o壹9阅读 787评论 1 49
  • 点击原文 now我们来看一看TS怎么声明文件, 在JS里面我们经常会使用各种第三方类库,引入方式也不太相同,常见的...
    videring阅读 3,150评论 0 4
  • 这篇文章将概括介绍在TypeScript里使用模块与命名空间来组织代码的方法。 我们也会谈及命名空间和模块的高级使...
    2o壹9阅读 1,639评论 1 49
  • { "Unterminated string literal.": "未终止的字符串文本。", "Identifi...
    栗子雨阅读 7,965评论 0 3