首页 > 解决方案 > 未定义字符串时如何避免“未定义”出现在字符串中-Javascript

问题描述

我有 3 个动态变量,可能是nullor undefined

例子:

var str1= " hello";
var str2= " world";
var str= " how are you?";

现在我将这些字符串连接在一起以在我的搜索列表中形成一个查询:

query = str1&& str1 + str2&& str2 + str3&& str3; //o/p: "hello world how are you?

这结果很好,但是在任何情况下,当 str 值之一为空或空时,我会在连接这些字符串时得到这个:

query = str1&& str1 + str2&& str2 + str3&& str3; // o/p: "hello world undefined"

如何避免这个未定义出现在我的字符串中?

标签: javascript

解决方案


如果任何字符串为空或未定义,您可以使用逻辑或运算符提供默认值。

query = (str1 || '') + (str2 || '') + (str3 || '')

您可以使用 nullish 合并运算符仅为 null 和 undefined 提供默认值,而不为其他错误值提供默认值。记得检查浏览器支持

query = (str1 ?? '') + (str2 ?? '') + (str3 ?? '')

推荐阅读