我在SO上看到了关于存在主义运算符的各种问题,但他们都没有问过“它是什么”以及“你如何使用它”的基本问题?所以我想我会在这里问这个。
The answer here可能足以作为这个问题的答案,但问题是标题没有提出这个问题。因此,谷歌搜索很难找到这个问题。因此,我的目的是让您更容易了解此运营商从谷歌搜索中做了什么。
顺便说一句,我知道The Little Book on CoffeeScript中标题为“别名和存在运算符”的部分,但出于某种原因我不喜欢它的解释。它不会让我觉得“我明白了”。答案 0 :(得分:1)
存在运算符提供了一种更简洁,更有表现力的方法来处理null
和undefined
属性。
而不是
if (user && user.url && user.url.indexOf('foo'))
你可以做到
if user?.url?.indexOf 'foo'
而不是
if (baker.bakeBread) { baker.bakeBread()}
你可以做coffeescript
baker.bakeBread?()