【发布时间】:2016-06-18 09:56:41
【问题描述】:
有两件事我很困惑。
使用任何 ES6 类或对象字面量有什么好处。
我应该在哪里使用它们?
下面提到了我正在尝试的一些示例。请让我知道何时使用特定的实现方式,何时不使用。
类示例1:
// auth.js
class Auth {
login(req, res) {...}
signup(req, res) {...}
}
module.exports = new Auth();
// index.js
const auth = require('auth');
类示例 2:
// auth.js
class Auth {
login(req, res) {...}
signup(req, res) {...}
}
module.exports = Auth;
// index.js
const Auth = require('auth');
const auth = new Auth();
对象字面量示例:
// auth.js
module.exports = {
login: (req, res) => {...},
signup: (req, res) => {...}
};
// index.js
const auth = require('auth');
我读到它们后的想法是:
类示例 1:
您不能创建超过 1 个对象。因为一个模块只执行一次。因此,在每次导入时,您都会得到相同的对象。类似于单例的东西。 (如果我误解了,请在这里纠正我)
您将无法访问该类的静态方法,因为您只是导出该类的对象。
类示例 2:
- 如果你有一个只包含辅助方法的类并且对象没有任何状态,那么一直创建这个类的对象是没有意义的。因此,如果是辅助类,则不应使用它。
对象字面量示例:
不能继承。
每次请求都会传递相同的对象。 (如果我在这里也错了,请纠正我)
请帮助我理解这些概念、我遗漏了什么、我误解了什么以及应该在何时何地使用什么。非常感谢您的帮助。
如果您认为我在某处犯了错误,请随时编辑问题。
【问题讨论】:
标签: javascript node.js express ecmascript-6