如何在有多个条件时使用CONST

时间:2018-01-29 14:09:07

标签: javascript functional-programming const

我上了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
    */    
}

感谢,

3 个答案:

答案 0 :(得分:1)

在这种情况下使用let没有任何问题。 Const对于在整个文件,函数或类中创建非变量变量很有用。例如,为http调用存储不变的基本URL(https://your.domain.here/)。

letvar更适合更改变量,例如用户点击按钮的时间量,或滑块选择最小和最大日期/年龄范围。

但是,您需要将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];

这是一个通过索引访问的数组。