如何用JavaScript判断字段为空并按条件生成指定标题?
解决方案
可以通过优先级判断来实现你的需求,按给出的三个条件依次检查,优先级从高到低:
分步判断写法(可读性高)
let finalTitle; // 条件1:result.title存在且不为空值/空字符串 if (result?.title && result.title.trim() !== '') { finalTitle = result.title; } // 条件2:result.title为空,且name存在 else if (name && name.trim() !== '') { finalTitle = `${name} matches`; } // 条件3:其他情况用默认标题 else { finalTitle = 'default title'; }
三元表达式写法(简洁版)
const finalTitle = result?.title && result.title.trim() !== '' ? result.title : (name && name.trim() !== '') ? `${name} matches` : 'default title';
说明
- 这里的**“存在”**默认处理为「非
null/undefined且不是空字符串」,如果业务中“为空”仅指null/undefined(空字符串算有效标题),可以去掉.trim() !== ''的判断; result?.title是可选链操作符,避免result为null/undefined时抛出错误;- 你之前的
result?.title ?? "default title"只处理了result.title为null/undefined的情况,没覆盖空字符串和name存在的场景,所以需要补充对name的判断逻辑。
内容的提问来源于stack exchange,提问作者stackuser
相关产品推荐
相关产品推荐

