我上了const
列车,想要不惜一切代价开始避免let
。
我遇到的问题是以下情况 - 如果在逻辑树中有超过2个分叉的情况下如何使用const
?
与const的等效模式是什么?
function getResult(input) {
let result;
switch (input): {
case (1): { result=x;}
case (2): { result=y;}
case (3): { result=x;}
...etc
}
/*
...additional conditionals and functions depending on the outcomes
of switch statement
*/
}
感谢,
答案 0 :(得分:1)
在这种情况下使用let
没有任何问题。 Const
对于在整个文件,函数或类中创建非变量变量很有用。例如,为http调用存储不变的基本URL(https://your.domain.here/)。
let
和var
更适合更改变量,例如用户点击按钮的时间量,或滑块选择最小和最大日期/年龄范围。
但是,您需要将switch语句更改为有效语句,如下所示:
switch (input) {
case 1: {
result=x;
break;
}
case 2: {
result=y;
break;
}
case 3: {
result=x;
break;
}
default:
break;
}
答案 1 :(得分:0)
虽然我不一定同意“不惜一切代价避免let
”,但我认为使用switch
语句的最佳选择是将其放在一个单独的函数中并使用{ {1}}。
下面的示例显示了保存开关逻辑的纯内部结果函数。它不是分配给变量,而是在找到匹配后立即返回结果。
return
答案 2 :(得分:-1)
const result = [x,y,x][input - 1];
这是一个通过索引访问的数组。