我正在审核PR,并且作者有使用重复三元的情况,因此 -
const foo = isConditionTrue ? 'foo' : '';
const bar = isConditionTrue ? 'bar' : '';
const baz = isConditionTrue ? 'baz' : '';
这似乎是重复的,但一种更好的方法并没有立即浮现在脑海中。我已经考虑过分配一个空字符串并重新分配if
块,但我觉得这不是更清洁。
任何有用的建议,谢谢你的时间。
答案 0 :(得分:2)
你可以使用数组析构函数..
const isConditionTrue = true;
const [foo,bar,baz] = isConditionTrue ?
["foo", "bar","baz"] : ["","",""];
console.log(foo, bar, baz);
答案 1 :(得分:1)
您可以解决问题并采用预定义函数,只需插入真实条件的值。
const setCondition = (condition, default) => value => condition ? value : default;
const checkCondition = setCondition(isConditionTrue, '');
const foo = checkCondition('foo');
const bar = checkCondition('bar');
const baz = checkCondition('baz');