我有时不得不用JavaScript编写以相同方式处理null
和undefined
的代码。例如,一个从数组中删除null
或undefined
的每个项目的函数。我应该如何命名函数?
removeNullAndUndefined
很长。 removeNull
简短但不精确。理想情况下,我想将其命名为removeX
,其中X
的含义为“空或未定义”。
有人知道X
的好词吗?
所以:removeNullish
或类似。
const isNil = thing => thing === null || thing === undefined;
如果必须采用命名约定,我会选择在函数式编程中很常见的名称,即
Maybe monad,它带有一个子类型,表示什么都不表示:Nothing
或None
。如果您查看monetjs:
Maybe类型是通过使NullPointer问题消失的方式来表示虚无(或null类型)的最常见方法。
也许实际上是抽象的,并且具有两个具体的子类型:一些(也只是)和无(也没有)。在引擎盖下,它使用
isNothing
功能检查isNothing
或null
在
undefined
中,这种功能称为ramda.js:检查输入值是否为空或未定义
(Lodash的名称相似,方法相似。]