运算符?=是什么意思?

卓美

我有一个hamlc(称为Haml + Inline CoffeeScript),它的行像

- @variable1 ?= @object1.element[0]

我想知道这是否意味着:如果@object1.element[0]有一个值,然后将其存储在中@variable1

我找不到有关hamlc的任何信息。另外,如果我理解的是正确的,那么我想添加一个else条件怎么办?

玛尼

?=运算在CoffeeScript中被称为存在运算符

从文档中:

检查JavaScript中是否存在变量有点困难。if(variable)...接近,但失败为零,空字符串和false。CoffeeScript的存在运算符?除非变量为null或未定义,否则返回true,这使其类似于Ruby的nil?

这意味着它的工作方式是使用您的示例:

 @variable1 ?= @object1.element[0]

如果@variable1nullundefined,则分配@object1.element[0]给它。

如果我想添加“ else”的条件怎么办?

@variable1 = 
  if @variable1?
    @object1.element[0]
  else
    # your else clause here

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章