未定义的合并运算符 这是在引入未定义合并运算符的建议。 动机 我们通常使用逻辑或运算符||提供默认值。 , 为了方便。 var name = user . name || 'Bob' var bio = user . bio || 'Nothing to see here!' 但是,有时候,伪造的支票会妨碍您。 特别是对于那些值是''或0 ,在这种情况下,我们通常希望保留这些值。 var spellWand = { remaining : 0 } console . log ( spellWand . remaining || 5 ) // <- 5 当左侧值undefined ,未定义的合并运算符将返回右侧值。 var user = { } console . log ( user . name ?? 'Bob' ) // 'Bob' 在所有其他情况下,未定义合并运算符将