Javascript 改进条件逻辑

Javascript 改进条件逻辑,javascript,Javascript,我有一个条件语句,如果可能的话,我想对其进行改进,因为我发现它非常笨拙: let action if(options.add) { action = 'ADD' } else if(options.update) { action = 'UPDATE' } else { action = 'REMOVE' } 有没有可能把它变成某种开关或三元数?我现在觉得你的代码不错。但如果你还在寻找替代品,是吗 let

我有一个条件语句,如果可能的话,我想对其进行改进,因为我发现它非常笨拙:

    let action

    if(options.add) {
        action = 'ADD'
    } else if(options.update) {
        action = 'UPDATE'
    } else {
        action = 'REMOVE'
    }

有没有可能把它变成某种开关或三元数?

我现在觉得你的代码不错。但如果你还在寻找替代品,是吗

let action = options.add ? "ADD" :  (options.update ? "UPDATE" : "REMOVE") ;

如果你想做三元运算,试试这个

let action;
action = (options.add) ? 'ADD' : ((options.update) ? 'UPDATE' : 'REMOVE');

如果您想要更具动态性的解决方案,可以创建动作数组,然后在该数组上使用“查找”来查找对象中的该动作,并将其分配给变量或将默认值设置为“删除”

let动作;
让选项={add:1}
让操作=[“添加”、“更新”、“删除”];
动作=(动作
.find(a=>options[a])| |“删除”)
.toUpperCase();

log(action)
有趣的是,我不知道这种三元风格
action = options.add && 'ADD' || options.update && 'UPDATE' || 'REMOVE'