“命名空间”的作用和目的就是,避免标识符(变量、函数)的重名问题。试想,如果没有“新建”命名空间的机制,那么代码中所有的标识符都属于同一命名空间,要保证这些标识符不重名的话,为标识符命名就真的很费脑力了,词汇量不足的情况下,使用能想到的单词去避免重名的变法,可能有,多单词组合,这会导致标识符越来越长。或者用数字或其他字符作为后缀,这样会导致标识符的语意不清。
JavaScript 并没有专门提供 namespace 的api。但是可以使用其现有的api进行。 如:使用对象创建命名空间
const namespace = {
sayHi: () => {
console.log('hi');
}
}
const sayHi = () => {
console.log('hello');
}
其实还有很多api可以实现,而且有些很不经意: 如:函数体