?. / 可选链
https://www.yuque.com/qinsjs/jsinfo/qtiwzgkgbdwxv1bd
?. 是一种访问嵌套对象属性的安全的方式。
即使中间的属性不存在,也不会出现错误。
?. 不是一个运算符,而是一个特殊的语法结构。
?. 来安全地读取或删除,但不能写入
如果 ?. 前面的值为 undefined 或者 null,它会停止运算并返回 undefined。
js
document.querySelector(".elem")?.innerHTML;不要滥用 ?.
不要滥用 ?.
不要滥用 ?.
本应该存在的, 就应该存在!一味的隐瞒并不可取!
?. 还可以用于 方法 和 方括号
js
user.sayHi?.();
null?.["Wow"];
delete user?.name; // 如果 user 存在,则删除 user.name