Day28-TypeScript(TS)的命名空间(Namespace)

今天要跟大家讲讲TypeScript(TS)的命名空间(Namespace)

命名空间(Namespace)用来将相关的功能打包在一起,
同时可以避免命名冲突的问题。

它在TS1.5版本之後变更命名方式,
内部模组(Internal modules) => 命名空间(Namespace)。

命名空间可以包含变数(Variable)函式(Function)物件(Object)类别(Class)介面(Interface)

注意事项:

  • 命名空间中变数(Variable)介面(Interface)名称必须唯一、不可重复。
  • 命名空间可以包含命名空间,形成巢状式命名空间。
  • 命名空间将会编译成一个JavaScript(JS)物件,属於全域范围(Global Scope)

那麽我们来看看命名空间的定义语法吧。

namespace 命名空间名称 {
    export let 属性名称: 属性型别;
    export function 函式名称() { };
    export interface 介面名称 { };
    export class 类别名称 { };
    export namespace 命名空间名称 { };
}

命名空间店一时,以namespace关键字开始,
接下来是命名空间名称
程序码再用 {}符号包起来。

再命名空间中的项目预设只有命名空间内的程序码可以存取,
若要开放外部存取
需要明确使用export关键字才可使用。

反之,
若是要引用命名空间
就必须使用import关键字来使用,语法如下。

import 变数名称=命名空间名称.成员名称;

今日结语

今天讲了一些命名空间的基本观念,
若是使用小专案或是件单纯的网页开发,
其实命名空间也相较模组来的单纯的多,
下偏就会来介绍一下模组,
大家可以来比较看看,
继续加油加油喔。


<<:  JavaScript条件控制

>>:  DAY28 linebot message api-Template 介绍-1

DAY26 - 网站分析工具介绍 - 质化与量化的结合 - Matomo

昨天介绍完以搜集质化数据为强项的Hotjar之後,今天我们要介绍的是可以搜集质化和量化的工具 - M...

Day 12:vim 配色方案

俗话说人要衣装,佛要金装,我们的 vim 也得要有漂亮的外观。今天就让我们来看看如何调教调整 vim...

Windows 10 环境 MINGW64 找不到 PGP Keys 的问题 (Gpg4win)

How to reproduction 在 Windows 10 环境安装 Gpg4win 使用 K...

【Bootstrap】【Vue】不会自己收阖的Navbar

【前言】 本系列为个人前端学习之路的学习笔记,在过往的学习过程中累积了很多笔记,如今想藉着IT邦帮忙...

IOS、Python自学心得30天 Day-21 CoreML范例

前言: 关於前面mlmodel的部分还没搞定 事先测试了一下CoreML的功能 VC程序码: imp...