Javascript 枚举和抽象工厂
Javascript enums and abstract factory
最近编写我的前端应用程序 运行 遇到枚举问题
const myEnum = Object.freeze({
fooKey: 'fooValue',
barKey: 'barValue',
})
然后在另一部分代码中,我想使用该枚举在抽象工厂模式中执行特定操作
fooAction(){
//some-code
}
barAction(){
//some-code
}
const actionList = {
fooValue: fooAction,
barValue: barAction
}
executeAction(enumValue){
return actionList[enumValue]()
}
有什么好的方法可以在不改变 myEnum 值的情况下合并 actionList
和 myEnum
,
这样我就不必硬编码到 actionList fooValue 和 BarValue 中了?
我要找的答案是:
const actionList = {
[myEnum.fooKey]: fooAction,
[myEnum.barKey]: barAction
}
最近编写我的前端应用程序 运行 遇到枚举问题
const myEnum = Object.freeze({
fooKey: 'fooValue',
barKey: 'barValue',
})
然后在另一部分代码中,我想使用该枚举在抽象工厂模式中执行特定操作
fooAction(){
//some-code
}
barAction(){
//some-code
}
const actionList = {
fooValue: fooAction,
barValue: barAction
}
executeAction(enumValue){
return actionList[enumValue]()
}
有什么好的方法可以在不改变 myEnum 值的情况下合并 actionList
和 myEnum
,
这样我就不必硬编码到 actionList fooValue 和 BarValue 中了?
我要找的答案是:
const actionList = {
[myEnum.fooKey]: fooAction,
[myEnum.barKey]: barAction
}