如何简化TypeScript/JavaScript中的空值判断语句?
简化JavaScript空值判断的几种方法
方法1:利用真值判断(简洁但需注意假值范围)
JavaScript中null、undefined、空字符串""都属于假值,因此可以直接用以下写法替代原判断:
if (request.Document) { // 执行你的逻辑 }
⚠️ 注意:如果request.Document可能是0、false、NaN这类假值,这个判断会把它们也排除。如果你只需要过滤null、undefined、空字符串,这种方法可能不符合需求。
方法2:自定义工具函数(贴近C#的!string.IsNullOrEmpty())
封装一个和C#逻辑一致的工具函数,复用性强:
function isNullOrEmpty(value) { return value === null || value === undefined || value === ""; } // 使用示例 if (!isNullOrEmpty(request.Document)) { // 执行你的逻辑 }
这个函数严格匹配你原判断的逻辑,只排除null、undefined、空字符串,和C#的!string.IsNullOrEmpty()行为完全对应。
方法3:ES2020+语法简化(现代环境推荐)
如果你的项目支持ES2020及以上语法,可结合可选链和空值合并运算符来写:
if ((request.Document ?? "") !== "") { // 执行你的逻辑 }
如果需要同时过滤全空格的字符串,还可以加trim():
if (request.Document?.trim() !== "") { // 执行你的逻辑 }
可选链?.能避免request为null/undefined时的报错,空值合并??只会在左侧是null/undefined时返回右侧值,逻辑更严谨。
内容的提问来源于stack exchange,提问作者MatejDodevski
相关产品推荐
相关产品推荐

