可选链运算符(?.)可以完全替代 连接符(.) 吗?
如题, chain operator(?.) 是否可以无脑在所有场景下替代(.)
object.hello // errorobject?.hello //undefined.
感谢大神指点!!!祝中秋节快乐
回复
1个回答

test
2024-07-17
结论:没问题,但存在一定性能损失。
根据 MDN 描述,该运算符只是一种语法糖:
并且,这种写法,是告知开发者,该对象可能没有该属性,也就是可选字段,使用 TS 表示就成了:
interface User {
name?: string
age?: number
}
看到这种接口,也就知道是什么体验了。
最后说:虽然可以任意使用,但能确定的,那就确定好,这样最简单。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容