测试是否定义了变量,如果没有,在Coffeescript中为它分配一个空字符串?

时间:2015-06-17 02:31:51

标签: javascript coffeescript conditional-statements

这是我的coffeescript代码:

if c.urls.voice then c.urls.voice else ""

有没有人对是否有更好的方法在Coffeescript中编写此代码有任何想法?

2 个答案:

答案 0 :(得分:3)

只需使用existential operator分配给不存在的变量/属性:

c.urls.voice ?= ""

或者,如果您不想分配它但只能使用默认值进行访问,请使用or(或||)运算符:

… = c.urls.voice or "" // equivalent to your if statement

然而,我猜你甚至在这里实际上正在寻找专门检查nullundefined值的存在运算符,而不是所有虚假值:

… = c.urls.voice ? ""

答案 1 :(得分:0)

我发现这对我有用:

imap_fetch_overview

将编译成:

c.urls.voice ? ""