Javascript 当可能有两个以上的值时,初始化常量变量的更简洁的方法是什么
标题说明了一切。我正在寻找一种更优雅的方法来使用条件语句声明和分配常量变量,而不是这样:Javascript 当可能有两个以上的值时,初始化常量变量的更简洁的方法是什么,javascript,typescript,Javascript,Typescript,标题说明了一切。我正在寻找一种更优雅的方法来使用条件语句声明和分配常量变量,而不是这样: const someVar = (() => { switch (otherVar) { case someVal: return something case otherVal: return somethingElse default: return somethingDefault } })() 您可以将逻辑提取到一个方法中并使用
const someVar = (() => {
switch (otherVar) {
case someVal: return something
case otherVal: return somethingElse
default: return somethingDefault
}
})()
您可以将逻辑提取到一个方法中并使用一个对象,该对象看起来与初始代码类似:
const getValue = key => {
return {
foo: 'bar',
bar: 'baz',
baz: 'quux',
}[key] || 'defaultValue'
}
const someVar = getValue(otherVar)
这可以进一步简化,尽管它是否更具可读性仍有争议
const getValue = key => ({
foo: 'bar',
bar: 'baz',
baz: 'quux',
}[key] || 'defaultValue')
const someVar = getValue(otherValue)
如果需要,您仍然可以立即调用该函数,但通过将逻辑提取到一个方法中,它可以在其他地方使用并简化测试。使用三元运算符的解决方案
const someVar=((otherVar)=>{
return(otherVar==“someVal”)?“something”:(otherVar==“otherVal”)?“somethingElse”:“somethingDefault”;
})(“某某”)
console.log(someVar)代码>