符号 ?. 是什么

在修改问题的时候,看到别人的代码是这样的,如图:
在这里插入图片描述
在这里插入图片描述
不太懂?.是干嘛的,于是去查关键字(js ?.),发现这是ES2020(ES11)新增的.

可选链操作符( ?. )

可选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?. 操作符的功能类似于 .
链式操作符,不同之处在于,在引用为空(nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值

ES11 新增的还有 空值合并操作符(??),BigInt ,Promise.all,Promise.race

空值合并操作符(??)是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数
例如: const foo = null ?? ‘default string’;
console.log(foo); // expected output: “default string”

BigInt 一个用于处理任意精度整数的新数字基元

参考链接:https://www.cnblogs.com/zhigu/p/13962661.html
https://www.jianshu.com/p/3e59df36342a

猜你喜欢

转载自blog.csdn.net/qq_43907534/article/details/122959550