gpt4 book ai didi

javascript - 当我在 switch 语句中使用 break 时出现无法访问的代码错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:49 25 4
gpt4 key购买 nike

我想知道我的代码做错了什么。我正在尝试执行以下操作:

switch (action.type) {
case TYPES.ADD_TO_FAVORITES:
if (state.faves.length <= 10) {
return assign({}, state, {
faves: state.faves.concat(action.payload),
full: false
});
} else {
return assign({}, state, {
faves: state.faves,
full: true
});
}
default:
return state;
}

我的 linter 说要在 default 案例之前添加一个中断,但是当我这样做时,它说 unreachable code

最佳答案

linter 规则,即 eslint 中的“no-fallthrough”,在不同的情况下不允许任何意外的失败。

意思是没有中断代码执行将从匹配的案例继续到下一个案例,除非遇到中断,返回等。

有时我们确实需要这个,但可能会发生无意的失败,而这条规则试图防止这种情况发生。

您可以禁用规则或将其配置为警告。我建议在函数末尾为返回值分配一个变量,并在不禁用规则的情况下返回它。

function() {
var returnvalue;
Switch(variableA) {
Case 1:
returnvalue = somevalue;
break;
case 2:
returnvalue = some other value;
break;
default:
returnvalue= default value;
}
return returnvalue;

对于无法访问的部分,您将从 if else block 返回。

所以 break 永远不会有任何执行的机会。

关于javascript - 当我在 switch 语句中使用 break 时出现无法访问的代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39060977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com