在javascript中,如果我不使用类,则可以执行以下操作:
const Module = (function(){
const myArray = [];
const myObject = {};
return { //this is my interfaces
myArray,
myObject,
myMethod1,
myMethod2,
myMethod3,
myMethod4,
myMethod99,
}
function myMethod1(){}
function myMethod2(){}
function myMethod3(){}
function myMethod4(){}
function myMethod99(){}
})
这为我提供了某种结构,让我在顶部列出了所有可公开使用的属性和方法,这样可以更轻松地在模块之间导航并查看模块中有哪些可用的东西,并且也更容易导航至在IDE中使用Visual Studio Code等IDE的Intellisense功能时,只需转到模块,单击要转到的方法,然后按F12,即可进入该功能。
现在在javascript中,类的情况不同:
class Module{
constructor(){}
myMethod1(){}
myMethod2(){}
myMethod3(){}
myMethod4(){}
myMethod99(){}
}
在这种情况下,我无法分离接口和实现,因此很难浏览代码。 Javascript是否有可能处理这种情况?
答案 0 :(得分:0)
JavaScript中还没有私有成员。存在a proposal包含此功能,虽然它处于阶段3,但尚未着陆。
JavaScript中也没有接口(因为几乎没有类型系统),并且将来不太可能添加接口。
考虑使用TypeScript,它具有这两个功能。