javascript - 未定义字符串时如何避免“未定义”出现在字符串中-Javascript
问题描述
我有 3 个动态变量,可能是null
or 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"
如何避免这个未定义出现在我的字符串中?
解决方案
如果任何字符串为空或未定义,您可以使用逻辑或运算符提供默认值。
query = (str1 || '') + (str2 || '') + (str3 || '')
您可以使用 nullish 合并运算符仅为 null 和 undefined 提供默认值,而不为其他错误值提供默认值。记得检查浏览器支持。
query = (str1 ?? '') + (str2 ?? '') + (str3 ?? '')
推荐阅读
- mysql - 如何检查两个日期时间在固定时间范围之间有多少小时
- javascript - 在 Chrome 扩展中使用 JavaScript 将文本添加到文本区域
- azure-devops - Azure DevOps - 将类库项目链接到另一个项目的发布
- c# - 如何推断 lambda 参数?
- javascript - JS 下拉输入表单验证问题
- apache - 根据apache中的http头转发http请求
- swiftui - 如何计算列表中的行数?SwiftUI
- c++ - 初始化对非实例化对象的引用会导致 C++ 中的内存泄漏吗?
- google-sheets - 如何在 Google 表格中引用插入的行?
- c# - 使用固定缓冲区将字节数组重新解释为托管结构