Optional Chaining运算符是拼写的?.
。它可能出现在三个位置:
obj?.prop // optional static property access
obj?.[expr] // optional dynamic property access
func?.(...args) // optional function or method call
为了允许foo?.3:0
被解析为foo?.3:0
(向后兼容所需),在词法语法级别添加了一个简单的超前功能,因此?.
在这种情况下,字符序列不能解释为单个标记(?.
标记不能后面紧跟一个十进制数字)。