JavaScript中? ?、??=、?.和 ||的区别是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1055个文字,预计阅读时间需要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); //报错
?? 与 || 的区别
相同点:
?? 和 || 的用法相同,都是前后是值,中间用符号连接,根据前面的值来判断最终是返回前面的值还是后面的值。
本文共计1055个文字,预计阅读时间需要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); //报错
?? 与 || 的区别
相同点:
?? 和 || 的用法相同,都是前后是值,中间用符号连接,根据前面的值来判断最终是返回前面的值还是后面的值。

