如何在 switch 语句中访问调用函数的值

How to access the value of invoked function in switch statemant

考虑以下代码:

switch (doSomething()) {
    case "1":
        return 1;
    case "2":
        return 2;
    default:
        console.log(RETURNED_VALUE); // I want here to access the value returned from doSomething
}

我想打印从 doSomething 返回的值,而不是先将它存储在变量中。可能吗? (类似于 this
谢谢

晚安!

Switch 是一种条件结构,例如 if 或三元运算符。它只是一组指令,而不是在内存中分配的对象。因此,您不能在其中包含“this”功能。但是,如果你不想长时间存储变量,你可以将开关包装在一个函数中,就像这样:

function switchDebug () {
    let value = doSomething(); 
    switch (value) {
        case "1":
            return 1;
        case "2":
            return 2;
        default:
            console.log(value);
    }
}

这样,变量将在函数使用后被清除,因为它将是函数的局部范围变量。