JavaScript中??、??=、?.和||的用法及区别是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1063个文字,预计阅读时间需要5分钟。
目录 + 前言 + ?? + 与 || 的区别 + 空值合并操作符 ?? + 可选链操作符 . + 空值赋值运算符 ?=+ 链判断运算符 + 总结 + 前言 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分钟。
目录 + 前言 + ?? + 与 || 的区别 + 空值合并操作符 ?? + 可选链操作符 . + 空值赋值运算符 ?=+ 链判断运算符 + 总结 + 前言 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); //报错
?? 与 || 的区别
相同点:
?? 和 || 的用法相同,都是前后是值,中间用符号连接,根据前面的值来判断最终是返回前面的值还是后面的值。

