根據 Ramda 的 empty()
判斷是否為 Empty Value。
Version
macOS Mojave 10.15.3
VS Code 1.43.0
Quokka 1.0.282
Ramda 0.27.0
Croks 0.12.3
Ramda
import { isEmpty } from 'ramda'
import { Maybe } from 'crocks'
let { Just, Nothing } = Maybe
isEmpty('') // ?
isEmpty({}) // ?
isEmpty([]) // ?
isEmpty(undefined) // ?
isEmpty(null) // ?
isEmpty(Just(4)) // ?
isEmpty(Nothing()) // ?
isEmpty()
a -> Boolean
判斷任意值是否為 empty
a
:data 為任意型別
Boolean
:回傳為 true
或 false
- 只要是 empty string、
{}
或[]
,isEmpty()
都會回傳true
- 但
undefined
與null
則回傳false
,這兩個 nullable 要靠isNil()
判斷 Just
與Nothing
都回傳false
,Maybe
已經超出isEmpty()
判斷能力
Conclusion
isEmpty()
無法判斷0
,因為isEmpty()
使用equals(x, empty(x))
判斷,而empty(1)
為undefined
而不是0
isEmpty()
無法判斷undefined
與null
,都回傳false
isEmpty()
無法判斷Maybe
,都回傳false