连接时如何检查错误的字符串值?

How to check for falsey string value when concatenating?

在下面的示例中,ex1 和 ex2 变量都将呈现一个带有 space 而不是虚假值的空字符串。而 ex3 将是假的并呈现 || 的右侧操作员。如何在不执行 if 语句的情况下测试前两个示例中的空字符串?

let var1 = '';
let var2 = '';
let ex1 = `${var1} ${var2}` || "Is Falsy";
let ex2 = var1 + ' ' + var2 || "Is Falsy";
let ex3 = var1 || "Is Falsy";

三元运算符可以接受吗?

let ex1 = var1 && var2 ? `${var1} ${var2}` : "Is Falsy";

如果您可以使用条件运算符,这可以在 trim() 的帮助下完成:

let var1 = '';
let var2 = '';
let ex1 = (`${var1} ${var2}`).trim()/length > 0 ? `${var1} ${var2}` : "Is Falsy";
let ex2 = (var1 + ' ' + var2).trim().length > 0 ? var1 + ' ' + var2 : "Is Falsy";
let ex3 = var1 || "Is Falsy";
console.log(ex1);
console.log(ex2);
console.log(ex3);

你可以试试这个打字方式:

const str = "not empty"

console.log(!str); // will be false, to check if a string is empty
console.log(!!str); // will be true, to check if a string is not empty

使用三元运算符:

let var1 = '';
let var2 = '';
let ex1 = (`${var1} ${var2}`).trim().length > 0 ? `${var1} ${var2}` : "Is Falsy";
let ex2 = (var1 + ' ' + var2).trim().length > 0 ? var1 + ' ' + var2 : "Is Falsy";
let ex3 = var1.trim().length > 0 ? var1 : "Is Falsy";

我认为这对你有用:

让ex2 = var1 ||变量2 || “是假的”;