【JS】??和?:以及if()三者区别
2026/6/2 18:17:58 网站建设 项目流程
1. ?? 空值合并运算符 (Nullish Coalescing Operator)

作用:当左侧的操作数为null或undefined时,返回右侧的操作数,否则返回左侧的操作数。

示例:

consta=null??'default';// a = 'default'constb=undefined??'default';// b = 'default'constc=0??'default';// c = 0constd=false??'default';// d = falseconste=''??'default';// e = ''

注意:只有左侧为null或undefined时才会返回右侧,其他假值(如0、false、‘’)不会触发。

2. ?: 三元运算符 (Ternary Operator)

作用:条件运算符,是if…else的简写形式。语法为:condition ? expr1 : expr2。如果condition为真,则返回expr1,否则返回expr2。

示例:

constage=20;conststatus=age>=18?'成人':'未成年';// status = '成人'

注意:这里判断的是condition的真假(即布尔值转换)。假值包括:false、0、‘’、null、undefined、NaN。

3. if() 语句

作用:用于根据条件执行代码块。它可以包含else和else if分支。

示例:

letmessage;if(age>=18){message='成人';}else{message='未成年';}

注意:if()语句是控制流语句,不直接返回值(除非在函数中通过return返回)。它根据条件的真假执行不同的代码块。

区别总结
特性???:if()
类型运算符运算符语句
返回值返回一个值返回一个值不返回值(用于控制流程)
判断依据仅判断null/undefined判断真值/假值判断真值/假值
用途提供默认值条件赋值条件执行代码

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询