代码网 logo
AI

TypeScript-空间嵌套

小开开2020-12-05 17:18:1287

空间嵌套

命名空间可以嵌套,嵌套的层数不受限制:

typescript 复制代码
namespace A {
  namespace B {
    namespace C {
      // ...
    }
  }
}

嵌套的命名空间遵循普通成员一样的规则,要在外面访问被嵌套的命名空间,必须使用关键字 export:

typescript 复制代码
namespace A {
  namespace B {
    export let msg = 'hello world';
  }
}

// 错误,子命名空间B没有被export
// error TS2339: Property 'B' does not exist on type 'typeof A'
console.log(A.B.msg);

要改正这个错误,只需要在命名空间前加修饰符 export

typescript 复制代码
namespace A {
  export namespace B {
    export let msg = 'hello world';
  }
}

广告