是否可以在javascript中分离类中的接口和实现

问题描述 投票:0回答:1

在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的Intellisense,如Visual Studio Code,只需转到模块,单击要转到的方法,然后按F12,它将带您进入该功能。

现在javascript中的类不同的情况:

class Module{

    constructor(){}

    myMethod1(){}   
    myMethod2(){}   
    myMethod3(){}   
    myMethod4(){}

    myMethod99(){}

}

在这种情况下,我无法分离界面和实现,使得难以浏览代码。有没有可能Javascript可以处理这种情况?

javascript oop
1个回答
0
投票

JavaScript中还没有私人会员。存在a proposal,其中包括此功能,虽然它处于第3阶段,但尚未降落。

JavaScript中也没有接口(因为几乎没有类型系统),并且将来不太可能添加一个接口。

考虑使用TypeScript,它具有这两个功能。

© www.soinside.com 2019 - 2024. All rights reserved.