据我了解,a ||= 7
表示以下内容:
如果a
有值,请继续使用该值,但如果没有,则将其设置为7.
这是发生的事情。
如果我有a
和b
:
a = true
b = false
然后
a ||= b
=>真
(在我的解释中:因为' a' DOES有价值,它仍然存在,并且不会等同于“假” - 到目前为止很好。)
但是,如果我将它们切换为:
a = false
b = true
然后a ||= b
=>真
所以在这种情况下我的逻辑不起作用,因为它应该返回false,因为' a' a'有一个值,不应该分配' b'"的值,这显然发生在这里。
我错过了什么吗?
答案 0 :(得分:7)
a || a = b
相当于
b
这意味着如果a
falsy ,即a
或false
,nil
值会分配给<button ng-if="!hasOpenProposal()" data-ng-click="doStuff()">Create New</button>
。