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

2026-04-02 21:340阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1055个文字,预计阅读时间需要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); //报错

?? 与 || 的区别

相同点:

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

阅读全文

本文共计1055个文字,预计阅读时间需要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); //报错

?? 与 || 的区别

相同点:

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

阅读全文