外观
禁止在可选链表达式后使用非空断言。
?. 可选链表达式提供未定义如果对象为空或未定义。使用 ! 非空断言断言 ?. 可选链表达式的结果为非空值可能是错误的。
?.
!
大多数情况下,要么对象是不可空的并且不需要使用 ?. 查找属性,要么 ! 不正确并且引入类型安全性漏洞。
foo?.bar!; foo?.bar()!;