我最近将HasValue函数添加到我们的内部javascript库中:

function HasValue(item) {
    return (item !== undefined && item !== null);
}

在与同事打招呼的过程中,我们想到了还要添加另一个基本上与之相反的函数的想法:可能是HasNoValue或IsNothing
如果最终这样做,我们将有:
function HasNoValue(item) {
    return (item === undefined || item === null);
}
function HasValue(item) {
    return !HasNoValue(item);
}

但是,我们不确定同时拥有HasValue和HasValue是否更具可读性。
哪个更易读/首选?

A:
if (HasValue(x) && !HasValue(y))

B:
if (HasValue(x) && HasNoValue(y))

最佳答案

我非常喜欢A而不是B。是所有人都应该理解的编程习惯用法。

10-06 02:22