切换为单例或其他情况

我正在从事一个巨大的项目,WebStorm检查始终为我提供了转换单个案例或案例+默认值的交换机结构的方法,

switch (fieldInfo.Type()) {
        case this.TYPE_nesTED:
            changedFieldInfo.addFieldFromPrototype(proto)
            break;

        default:
            changedFieldInfo._fieldInfo[this.FI_FIELDS] = [];
            break;
    }

到这样的其他构造

if (fieldInfo.Type() === this.TYPE_nesTED) {
        changedFieldInfo.addFieldFromPrototype(proto);
    } else {
        changedFieldInfo._fieldInfo[this.FI_FIELDS] = [];
    }

我的同事说,即使开关只有一个case子句,也更易于阅读,尤其是在检查上面摘录中的TYPE等枚举时。

js社区对此有何看法? 还要假设我们不会增加第二个case子句,也不会经常回到单个子句,因此维护问题很小。

还有一个问题,是否可以将case子句中带有break的switch转换为不使用额外代码的情况,例如

    switch (fieldInfo.Type()) {
            case this.TYPE_nesTED:
                if(smthIsTrue)
                    break;
                changedFieldInfo.addFieldFromPrototype(proto)
                break;

            default:
                changedFieldInfo._fieldInfo[this.FI_FIELDS] = [];
                break;
        }

guashehdh 回答:切换为单例或其他情况

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3153120.html

大家都在问