吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 844|回复: 2
收起左侧

[学习记录] 掌握特殊操作符:??与?.

[复制链接]
pilot34 发表于 2023-2-10 13:25
本帖最后由 pilot34 于 2023-2-20 09:30 编辑

一、空值合并操作符:??
1、扩展
空值合并操作符`??`有个与其功能类似的操作符,即`||`(逻辑或运算符),也是一般空值合并时比较常用的。
2、对比
  • ??  :当有两个值需要空值合并时,只有当左侧为null和undefined,才会返回右边的数。
  • ||  :当有两个值需要空值合并时,当左边的值为假(0或false或""或null或undefined)时返回右边的值,有时候在默认赋值时会有意料之外的错误。

3、实例
[JavaScript] 纯文本查看 复制代码
let a1 = "" || false || 1;    
let a2 = null || undefined || 2;
let a3 = "" ?? false ?? 1;
let a4 = null ?? undefined ?? 2;
console.log("逻辑操作符,空值合并", a1, a2, a3, a4); //逻辑操作符,空值合并 1 2 "" 2

二、可选链操作符:?.
1、扩展
可选链操作符?.,其功能与.链式操作符类似。
2、对比
  • ?.  :在引用为空 (nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined。
  • .  :在引用为空 (nullish ) (null 或者 undefined) 的情况下会引起错误。

3、实例
[JavaScript] 纯文本查看 复制代码
let animal = { cat: { name: "carry" } };
console.log("可选链操作符", animal.dog?.name, animal.cat?.sex); //可选链操作符 undefined undefined
console.log("可选链操作符", animal.dog.name, animal.cat.sex); //程序中断,报错

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

a634085832 发表于 2023-2-10 17:10
学到了,感谢楼主
雾都孤尔 发表于 2023-2-11 00:35
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表