3
A
回答
6
它蒙上了可變進boolean類型並確定其truthy或falsy值
例如: -
# Numbers...
!!1 # => true
!!0 # => false
# Numbers as strings...
!!'1' # => true
!!'0' # => false
# Truthy strings (case insensitive)...
!!'true' # => true (alias: 't')
!!'false' # => false (alias: 'f')
!!'yes' # => false (alias: 'y')
!!'no' # => false (alias: 'n')
# Booleans...
!!true # => true
!!false # => false
# Nil...
!!nil # => false
3
它可以幫助您獲得布爾結果。
實施例:
a = nil
!a
#=> true
!!q
#=> false
同樣
a = 1
!a
#=> false
!!a
#=> true
0
雙感嘆號會將結果轉換爲布爾值,因此,在這種情況下,如果@assication.include?(record)
返回nil
將會轉換爲false
。
相關問題
- 1. 什麼是Kotlin double-bang(!!)運算符?
- 2. 用bash腳本開始一行! (double bang)
- 3. Linq Double包含
- 4. 援引! (bang)方法
- 5. double值的assertEquals的epsilon參數的含義
- 6. Groovy中的Bang方法
- 7. 'double'不包含'Text'的定義,也沒有擴展方法
- 8. 滑塊像bang-olufsen.com/en
- 9. 切換! Bang Change in Rails 4
- 10. 使用big-bang和on-tick
- 11. 什麼是Elixir Bang功能?
- 12. 「double」不包含定義,並且找不到擴展方法?
- 13. Arc2D.Double包含(double x,double y)方法不起作用
- 14. 方法名稱開頭的Bang(!)
- 15. 做Twitter,Hash-Bang#等鏈接! URL的
- 16. 未定義的行爲使用long double而不是double
- 17. Loan類型的Loan(double,int,double)方法未定義?
- 18. 未定義模板的隱式實例化std :: __ 1 :: function <int(double,double,double,double)>'
- 19. 瞭解變化的含義
- 20. !!的含義在javascript
- 21. 這些C++語句的含義是什麼typedef向量<double> :: size_type
- 22. *&和**的含義在C++中
- 23. Double.doubleToLongBits(x)的含義
- 24. Java:運算符 - 未定義爲參數類型double,double []
- 25. 構造函數GeoPoint(double,double)未定義。那有什麼問題?
- 26. double + double = String?
- 27. 寫`double ...`而不是`[] double`
- 28. 錯誤:無法在作業中將'double(evaluateator :: *)(double,double)'轉換爲'double(*)(double,double)'
- 29. 從小程序打開窗口(Bang!Howdy)
- 30. Ruby數組刪除vs刪除(bang)
它被稱爲雙爆(!!)。 –
'!!'將「truthy」值(除了'nil'和'false'之外的所有值)轉換爲'true'和'falsy‖值('nil'或'false')爲'false'。 '!! x'的意思是'!(!x)'。如果'x'是真的,'!x'是'false';如果'x'是假的,'!x'是真的。第一個'!'然後將'false'轉換爲'true'並將'true'轉換爲'false'。例如,'!7 =>!(!7)=>!false => true'和'!! nil =>!(!nil)=>!true => false'。 –
你已經刪除了最近的一個問題,看看[這裏](https://jsfiddle.net/m9gmjc2w/);) –