簡體   English   中英

運算符?=是什么意思?

[英]What does the operator ?= mean?

我有一個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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM