javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > 前端判断变量不等于undefined不等于null

前端判断变量不等于undefined不等于null的方法推荐

作者:杨钧博_连杰李

在前端开发(JavaScript/TypeScript)中,判断一个变量既不等于 undefined 也不等于 null,通常被称为判断空值或有效存在,本文给大家推荐了几种常用的方法,需要的朋友可以参考下

前端判断不等于 undefined 不等于 null 的方法

在前端开发(JavaScript/TypeScript)中,判断一个变量既不等于 undefined 也不等于 null,通常被称为判断“空值”或“有效存在”。

以下是几种常用且推荐的方法,你可以根据场景选择:

1. 最常用:宽松相等法(推荐)

这是最简洁、最符合语言习惯的写法。利用 == null 的特性,它能同时匹配 nullundefined

if (value != null) {
  // 代码逻辑
  // 进入这里说明 value 既不是 null,也不是 undefined
  // value 可以是 0, false, '', [] 等任何其他值
}

2. 严格判断:逻辑或(Explicit OR)

如果你追求代码的绝对清晰,或者团队规范禁止使用 ==,可以使用严格全等 === 配合逻辑非。

if (value !== null && value !== undefined) {
  // 代码逻辑
}

3. 现代语法:空值合并运算符(Nullish Coalescing)

如果你是在进行赋值条件判断(例如设置默认值),这是 ES2020 提供的最新语法。

// 场景A:获取一个肯定有值的变量
const result = value ?? '默认值';

// 场景B:在 if 中使用(判断是否存在)
if ((value ?? false) !== false) {
  // 或者更直接地结合布尔值判断
}

4. 特殊情况:变量可能未声明

注意: 如果 value 这个变量可能根本就没有被 var/let/const 声明过(直接访问会报错),那么直接使用 value != null 会抛出 ReferenceError

此时必须使用 typeof

if (typeof value !== 'undefined' && value !== null) {
  // 安全地处理可能未声明的变量
}

避坑指南:不要只用!value

千万不要使用下面这种写法,除非你同时也想过滤掉 0false 和空字符串 ''

//  错误写法(过度过滤)
if (!value) {
  // 这里会把 0, false, '' 也当成空值处理,通常不是我们想要的
}

总结建议

场景推荐写法
日常开发、函数参数校验value != null (简洁高效)
严格模式、代码审查严格value !== null && value !== undefined
设置默认值const val = value ?? 'default'

以上就是前端判断变量不等于undefined不等于null的方法推荐的详细内容,更多关于前端判断变量不等于undefined不等于null的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文