有1行条件更新Javascript中的其他变量
不确定这是否可行,但有没有一种方法可以在不使用 if else 调用的情况下将其简化为一行?即在满足特定条件时更新所有变量?
const dogStatus = present ? "bark" : "beep";
const catStatus = present ? "meow" : "meep";
const fishStatus = present ? "blub" : "bleeboop";
回答
条件运算符和解构可以做到这一点:
const [dogStatus, catStatus, fishStatus] = present ? ['bark', 'meow', 'blub'] : ['beep', 'meep', 'bleeboop'];
为了代码组织,我会强烈考虑是否只有一个变量而不是多个独立变量是可能的,在大多数情况下我更喜欢它:
const status = present
? { dog: 'bark', cat: 'meow', fish: 'blub' }
: { dog: 'beep', cat: 'meep', fish: 'bleeboop' };