在使用 TS 的过程当中,肯定会涉及到在不同文件当中使用 TS 的不同特性,这种情况下就可能会遇到不同文件当中会有相同变量名称的这种情况。解决这个问题的办法自然是把它们分别装入不同的或者是单独的作用域中,比如一个立即执行函数或者使用export 导出一下也就是使用一下 ESModule,这样我们这个文件就会作为一个模块,模块有单独的模块作用域这个文件当中所有的成员就变成了这个模块作用域当中的局部成员了,也就不会在出现冲突的问题了。这样一个问题实际上在实际开发时,一般不会用到因为在绝大多是情况下,每个文件都会以模块的形式去工作。
// 作用域问题
// 方案 1
(function(){
const a = 123
})()
// 方案 2
const a = 123;
export { }// 这里的花括号只是 export 的语法,并不是导出一个空对象