根据条件设置多个常量值
Set multiple const values based on conditional
我想根据条件设置多个值。此代码有效:
let a;
let b;
if (fooBar) {
a = "foo";
b = "bar";
} else {
a = "baz";
b = "Hello world!";
}
但我正在努力遵守 FP(不可变变量)和 DRY 原则。
对于一个变量,我会这样做:
const a = fooBar
? "foo"
: "baz";
我可以用这种方式设置多个变量吗?
使用三元生成具有所需值的对象或数组,然后使用解构来分配它们:
const fooBar = false
const { a, b } = fooBar ?
{ a: 'foo', b: 'bar' }
:
{ a: 'baz', b: 'Hello world!' }
console.log(a, b)
我认为总体上使用 let
没有错,但是您的问题的答案是:
const [a, b] = fooBar ? ["foo", "bar"] : ["baz", "Hello world!"]
在这种情况下可以使用数组解构。所以我们创建变量来按索引访问数组项(a 是#0,b 是#1)
我不明白为什么每个人都对解构如此执着。这不适合你吗?
const a = 1 ? 0 : -1,
b = 0 ? 3 : -1;
我想根据条件设置多个值。此代码有效:
let a;
let b;
if (fooBar) {
a = "foo";
b = "bar";
} else {
a = "baz";
b = "Hello world!";
}
但我正在努力遵守 FP(不可变变量)和 DRY 原则。
对于一个变量,我会这样做:
const a = fooBar
? "foo"
: "baz";
我可以用这种方式设置多个变量吗?
使用三元生成具有所需值的对象或数组,然后使用解构来分配它们:
const fooBar = false
const { a, b } = fooBar ?
{ a: 'foo', b: 'bar' }
:
{ a: 'baz', b: 'Hello world!' }
console.log(a, b)
我认为总体上使用 let
没有错,但是您的问题的答案是:
const [a, b] = fooBar ? ["foo", "bar"] : ["baz", "Hello world!"]
在这种情况下可以使用数组解构。所以我们创建变量来按索引访问数组项(a 是#0,b 是#1)
我不明白为什么每个人都对解构如此执着。这不适合你吗?
const a = 1 ? 0 : -1,
b = 0 ? 3 : -1;