由于学习,我通常使用静态类方法和OOP而不是纯函数和函数式编程。我的一些同事不知道为什么,我也不知道哪种方法更好。例如,这是一段代码:
const DynamoDbHelper = class DynamoDbHelper {
static getTableProperties(tableName) {
...
}
static async updateTableReadAndWriteCapacities(tableName, readCapacityUnits, writeCapacityUnits) {
...
}
}
module.exports.DynamoDbHelper = DynamoDbHelper;
也可以这样写:
module.exports.getTableProperties = (tableName) => {
...
}
module.exports.updateTableReadAndWriteCapacities = async(tableName, readCapacityUnits, writeCapacityUnits) => {
...
}
在这种情况下哪个解决方案更好?
答案 0 :(得分:1)
纯静态类在JavaScript中是反模式。仅在不支持作为独立实体的功能的语言中有效。
如果不打算实例化一个类并充当一个命名空间,则这就是模块的用途。第二个片段是应该如何完成。