Javascript isNull()的用途是什么?

Javascript isNull()的用途是什么?,javascript,underscore.js,Javascript,Underscore.js,从下划线开始: _.isNull = function(obj) { return obj === null; }; 为什么您要使用此方法而不是仅使用 obj === null 可能用于迭代器方法,如.some() 有可重用的函数用于某种公共目的是很好的。因为.isNull可以作为函数参数传递,而obj===null必须包装在函数中才能传递,意思是使用.isNull可以节省您自己将该语句包装到函数中的时间。除了回调之外,.isNull函数似乎没有太多用处,因此它可能只是为了完整性

从下划线开始:

_.isNull = function(obj) {
    return obj === null;
  };
为什么您要使用此方法而不是仅使用

obj === null

可能用于迭代器方法,如
.some()


有可重用的函数用于某种公共目的是很好的。

因为
.isNull
可以作为函数参数传递,而
obj===null
必须包装在函数中才能传递,意思是使用
.isNull
可以节省您自己将该语句包装到函数中的时间。

除了回调之外,
.isNull
函数似乎没有太多用处,因此它可能只是为了完整性。当您查看时,您可以看到其他类似的函数并不是那么简单:

// Is a given object a finite number?
_.isFinite = function(obj) {
  return isFinite(obj) && !isNaN(parseFloat(obj));
};

// Is the given value `NaN`? (NaN is the only number which does not equal itself).
_.isNaN = function(obj) {
  return _.isNumber(obj) && obj != +obj;
};

// Is a given value a boolean?
_.isBoolean = function(obj) {
  return obj === true || obj === false || toString.call(obj) == '[object Boolean]';
};

// Is a given value equal to null?
_.isNull = function(obj) {
  return obj === null;
};

// Is a given variable undefined?
_.isUndefined = function(obj) {
  return obj === void 0;
};

语法上的糖分、标准化,以及意外键入
==
的可能性更小,因此编码更不容易出错。

根据更改日志,它是“为了完整性”

0.4.7

为了完整性,添加了
isDate
isNaN
isNull
在检查数组或日期之间是否相等时对
isEqual
进行优化<代码>键现在快了25%–2倍(取决于您的浏览器),从而加快了依赖它的功能,例如


为什么不
isFalse
isTrue
?@www.arcmarks.com,因为isFoo函数主要是检测类型,而不是值。isTrue和isFalse将处理布尔值(已经有isBoolean);isNull处理空值。
null
是一个类型为
null
@www.arcmarks.com的值,如果你添加isTrue和isFalse,你是否也添加isOne、isTwo、isThree…?
NaN
是一个类型为
Number
@www.arcmarks.com的值,但我似乎用错了。你可以把
..isNull
传递给一个函子,而不是函子本身。我觉得这是一个很好的问题/答案。你能让主持人打开它吗。谢谢我不认为这是基于意见的,因为有一个明确的答案——用于回调,这样库用户就不必再次编写。我们能重新开门吗?
// Is a given object a finite number?
_.isFinite = function(obj) {
  return isFinite(obj) && !isNaN(parseFloat(obj));
};

// Is the given value `NaN`? (NaN is the only number which does not equal itself).
_.isNaN = function(obj) {
  return _.isNumber(obj) && obj != +obj;
};

// Is a given value a boolean?
_.isBoolean = function(obj) {
  return obj === true || obj === false || toString.call(obj) == '[object Boolean]';
};

// Is a given value equal to null?
_.isNull = function(obj) {
  return obj === null;
};

// Is a given variable undefined?
_.isUndefined = function(obj) {
  return obj === void 0;
};