在以下示例中,ex1 &Ex2变量将呈现一个带有空格的空字符串,而不是一个假值。而ex3将为false,并呈现||运算符的右侧。我如何在不做if语句的情况下测试前两个例子中的空字符串?
let var1 = '';
let var2 = '';
let ex1 = `${var1} ${var2}` || "Is Falsy";
let ex2 = var1 + ' ' + var2 || "Is Falsy";
let ex3 = var1 || "Is Falsy";
我想这对你会有用的:
let ex2 = var1 || var2 || "Is false ";
三元操作符可以接受吗?
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);
使用三元操作符
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";
您可以尝试以下输入方法:
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