typescript 达人乱入

wjx0912 · 昨天 21:36 · 206 次点击

(1)编译错误

let xxx: string
xxx?.length

(2)编译正常

let xxx: string | undefined
xxx?.length

第二个代码仍然只是定义了一个类型,并没有赋值。 有没有人能通俗易懂的说下?从编译器的角度理解

举报· 206 次点击
登录 注册 站外分享
1 条回复  
twig 小成 昨天 22:15
我的理解是:第一种情况 xxx 在编译器看来不存在「空」或「未定义」的可能,所以加问号是多此一举?
返回顶部