JavaScript中??、??=、?.和||的用法及区别是什么?

更新于
2026-09-23 11:56:58
0阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1063个文字,预计阅读时间需要5分钟。

JavaScript中??、??=、?.和||的用法及区别是什么?

目录 + 前言 + ?? + 与 || 的区别 + 空值合并操作符 ?? + 可选链操作符 . + 空值赋值运算符 ?=+ 链判断运算符 + 总结 + 前言 undefined 和 null 是两个特殊的比较类型,不能使用点操作符去访问属性。

目录
  • 前言
  • ?? 与 || 的区别
  • 空值合并操作符??
  • 可选链操作符?.
  • 空值赋值运算符(??=)
  • 补充:?. 链判断运算符
  • 总结

前言

undefined和null是两个比较特殊的数据类型,是不能用点操作符去访问属性的,否则将会报错

let a; console.log(a?.name); //undefined console.log(a.name); //报错

let obj = {}; console.log(obj.name); //undefined console.log(obj?.name?.a); //undefined console.log(obj.name.a); //报错

?? 与 || 的区别

相同点:

?? 和 || 的用法相同,都是前后是值,中间用符号连接,根据前面的值来判断最终是返回前面的值还是后面的值。

阅读全文

本文共计1063个文字,预计阅读时间需要5分钟。

JavaScript中??、??=、?.和||的用法及区别是什么?

目录 + 前言 + ?? + 与 || 的区别 + 空值合并操作符 ?? + 可选链操作符 . + 空值赋值运算符 ?=+ 链判断运算符 + 总结 + 前言 undefined 和 null 是两个特殊的比较类型,不能使用点操作符去访问属性。

目录
  • 前言
  • ?? 与 || 的区别
  • 空值合并操作符??
  • 可选链操作符?.
  • 空值赋值运算符(??=)
  • 补充:?. 链判断运算符
  • 总结

前言

undefined和null是两个比较特殊的数据类型,是不能用点操作符去访问属性的,否则将会报错

let a; console.log(a?.name); //undefined console.log(a.name); //报错

let obj = {}; console.log(obj.name); //undefined console.log(obj?.name?.a); //undefined console.log(obj.name.a); //报错

?? 与 || 的区别

相同点:

?? 和 || 的用法相同,都是前后是值,中间用符号连接,根据前面的值来判断最终是返回前面的值还是后面的值。

阅读全文