Ruby case-when vs JavaScript switch-case
发布时间:2020-12-17 02:50:00 所属栏目:百科 来源:网络整理
导读:我来自 Ruby世界并进入 JavaScript世界. Ruby语言的一个特性是用于评估目标值的case语句: my_val = case my_var when "var1" then "value1" when "var2" then "value2" else "value3" end# my_val evaluated to a specific value puts my_val 我可以像上面
我来自
Ruby世界并进入
JavaScript世界. Ruby语言的一个特性是用于评估目标值的case语句:
my_val = case my_var when "var1" then "value1" when "var2" then "value2" else "value3" end # my_val evaluated to a specific value puts my_val 我可以像上面那样在JavaScript中做一些简洁的事吗?这是我得到的最接近的: let myVal = null; switch (myVar) { case "var1": myVal = "value1"; break; case "var2": myVal = "value2"; break; default: myVal = "value3"; } // my_val evaluated to a specific value console.log(myVal); 解决方法
您可以使用具有三元组的对象来设置默认值,如下所示:
const obj = { "var1":"value1","var2":"value2","defaultVal": "value3" // default value },getVal = sVar => sVar in obj ? obj[sVar] : obj["defaultVal"]; // Use case 1: console.log(getVal("var1")); // get "var1" from the object // Use case 2: console.log(getVal("foo")); // get "foo" from the object,doesn't exsist,so we get the fault value 上面创建了一个对象,其中对象中的每个键都指向一个值(即myVar应该变成什么).如果myVar不在对象中,它将默认为defaultVal,如果它在对象中,它将检索关联的值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |