Skip to content

Latest commit

 

History

History
40 lines (33 loc) · 796 Bytes

空间拆分.md

File metadata and controls

40 lines (33 loc) · 796 Bytes

空间拆分

命名空间可以拆分,当命名空间代码量很大时,拆分可以提高可维护性:

// 拆分成第一块
namespace ns {
  let a = 1;
}
// 拆分成第二块
namespace ns {
  let b = 2;
}

但要注意,虽然 ns 被拆分成两个代码块了,但这两个代码块之间的成员无法互相访问

namespace ns {
  let a = 1;
}
namespace ns {
  // 错误,error TS2339: Property 'a' does not exist on type 'typeof ns'
  let b = a + 1;
}

要想访问被拆分的命名空间成员,必须用 export 导出需要被其他块访问的成员:

namespace ns {
  export let a = 1;
}
namespace ns {
  // 正确,a被export
  let b = a + 1;
}

命名空间也可以被拆分到不同的文件中