在 ES6 中,可以在模块中导出 class
或像往常一样仅导出函数。哪个更好?
我的想法是,如果想要更实用的外观和感觉,请使用导出函数,而更面向对象的方法是导出类。
最佳答案
ES6 中类的要点是能够通过调用构造函数创建对象(实例),并使这些对象具有属性和对这些属性进行操作的方法。
因此,如果您创建的模块打算公开一种创建具有方法和属性的新对象的方法,那么一定要公开可以调用以创建所需类型对象的构造函数或工厂函数.
但是,如果你想从模块中共享的只是一些可以自己使用的函数,那么就没有理由使用 ES6 类,因为导出一个带有多个函数的普通对象作为属性是完全可以接受的共享一些可以独立调用的函数。
因此,答案是这取决于您尝试从模块中分享的内容。
当然,你也可以导出一个带有一堆静态方法的类,但这与仅导出一个带有函数作为属性的普通对象相比并没有特别的优势,所以没有特别的理由为此使用 ES6 类(其他而不是模块内的语法偏好)。
关于javascript - 在 JavaScript 中,使用模块还是类更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40580361/