如果值为真,则将变量设置为值

问题描述 投票:0回答:3

是否有以下的速记版本:

let myVar = "I contain a value!";

const myNewerVar = "I contain a newer value!";
if (myNewerVar) { 
    myVar = myNewerVar;
}

myVar
只应在
myNewerVar
为真时设置。

这个的较短版本是:

let myVar = "I contain a value!";

const myNewerVar = "I contain a newer value!";
if (myNewerVar) myVar = myNewerVar;

我不喜欢重复阅读

myNewerVar
,不过。

有没有办法进一步简化这个?

javascript syntax simplify
3个回答
3
投票

是的,有:

myVar = myNewerVar || myVar;

1
投票

您可以简单地使用 OR 运算符

例如

myVar = myNewerVar || myVar

0
投票

如果您使用 Typescript 编写,您也可以使用 nullish 合并。当其左侧操作数为空或未定义时,它返回其右侧操作数。

const foo = null;
const bar = false;

const fooTest1 = foo || 'Test 1';  // Output: "Test 1"
const fooTest2 = foo ?? 'Test 2';  // Output: "Test 2"

const barTest1 = bar || 'Test 3';  // Output: "Test 3"
const barTest2 = bar ?? 'Test 4';  // Output: false
© www.soinside.com 2019 - 2024. All rights reserved.