typescript - 如果用作类型的容器,打字稿中命名空间的优势是什么
问题描述
为什么我要在命名空间中保留一个类型而不是直接导出它。
示例我可以这样做
export interface Document {
first_name: string
status: Document.DocumentStatus
}
export namespace Document {
export type DocumentStatus = 'active' | 'inactive'
}
但是我可以使用命名空间来实现相同的结果
export interface Document {
first_name: string
status: DocumentStatus
}
export type DocumentStatus = 'active' | 'inactive'
在这种情况下使用命名空间有什么好处?
解决方案
以我的经验,命名空间有助于理清接口的用途,尤其是当接口开始堆积时。
例如
Document.Status
Document.Content
Document.Owner
Person.Name
Person.Status
Person.Address
推荐阅读
- jenkins - 使用 Jenkins 设置 gitea 提交状态
- ruby - 下拉菜单刮红宝石
- influxdb - 您的查询在语法上是正确的,但没有返回任何结果
- c# - 接口注入无法访问祖父方法,在运行时遇到 RuntimeBinderException
- ios - 未注册的注册令牌(firebase ios)
- asp.net-core-mvc - System.InvalidOperationException:尝试激活“HomeController”时无法解析“LoginManager”类型的服务
- javascript - Nuxt.js- 持久化数据的共享链接:接收者如何查看数据?
- python - 继承:来自父类的属性
- validation - 如何基于已知模型公式验证多项式模型的质量
- node.js - 如何配置 NRPE 以从不同用户收集指标?