根据条件设置多个常量值

Toi*_*wén 0 javascript functional-programming dry immutability ecmascript-6

我想根据条件设置多个值。这段代码可以工作:

let a;
let b;

if (fooBar) {
  a = "foo";
  b = "bar";
} else {
  a = "baz";
  b = "Hello world!";
}
Run Code Online (Sandbox Code Playgroud)

但我试图坚持 FP(不可变变量)和 DRY 原则。

对于一个变量,我会这样做:

const a = fooBar
  ? "foo"
  : "baz";
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式设置多个变量吗?

小智 6

我会说let整体使用没有错,但是您的问题的答案是:

const [a, b] = fooBar ? ["foo", "bar"] : ["baz", "Hello world!"]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,可以使用数组解构。所以我们创建变量来按索引访问数组项(a 是#0,b 是#1)