Вы можете приблизиться к чему-то похожему, используя Булевы операторы &&
и ||
в Javascript
:
let my_var = "var2";
let my_val =
(my_var === "var1" && "value1") ||
(my_var === "var2" && "value2") ||
"value3";
console.log(my_val);
let my_var2 = "var3";
let my_val2 =
(my_var2 === "var1" && "value1") ||
(my_var2 === "var2" && "value2") ||
"value3";
console.log(my_val2)
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
СТОРОННОЕ ПРИМЕЧАНИЕ: Этот подход будет работать только для примитивных Javascript
значений.Давайте посмотрим на некоторые примеры, где подход терпит неудачу:
let my_var = [1,2,3];
let my_val =
(my_var === "var1" && "value1") ||
(my_var === [1,2,3] && "value2") ||
"value3";
console.log(my_val);
let my_var1 = {"a":"b"};
let my_val1 =
(my_var1 === "var1" && "value1") ||
(my_var1 === {"a":"b"} && "value2") ||
"value3";
console.log(my_val1);
let my_var2 = NaN;
let my_val2 =
(my_var2 === "var1" && "value1") ||
(my_var2 === NaN && "value2") ||
"value3";
console.log(my_val2);
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}