使用下划线.js进行空检查

Using underscore.js for null checking

本文关键字:检查 js 下划线      更新时间:2023-09-26
var name = "someName";
if(name !=null) {
   // do something
}
  1. 我现在正在使用 http://underscorejs.org/#isNull,我该怎么办使用underscore.js相同
  2. 它是否在性能方面有任何轻微的改进功能。

在下划线中,您可以使用

if(!_.isNull(name)) {}

在普通的Javascript中,你应该使用

if(name !== null) {}

您应该避免使用松散不等式运算符!=因为它确实会进行类型强制,并且undefined != null将返回false

使用普通的Javascript稍微快一些,因为它不必调用函数,但它是难以察觉的,几乎不应该是一个考虑因素。

可读性而言,我都没有强烈的偏好,但是为如此简单的检查调用库函数似乎有点过分和冗长。

在下划线中.js您必须编写此内容才能实现该功能。

var name = "someName";
if(!(_.isNull(name ))) {
   // do something
}

在下划线中.js函数isNull是这样写

_.isNull = function(obj) {
    return obj === null;
  };

因此,区别在于在您的代码中使用==,在下划线中使用===.js.有关该差异的更多详细信息,您可以查看此问题。

在 JavaScript 比较中应该使用哪个等于运算符 (== vs ===)?

附言我建议编写您自己的条件,而不是在如此简单的地方使用任何库。

var name = "someName";
if(name !== null)) {
   // do something
}
好吧,

您的原始代码是有缺陷的,因为如果name是一个空字符串,false,数字0或任何其他虚假值,那么就您的测试而言,它将被视为null

作为一般规则,调用 ANY 函数是一种开销,应尽可能避免。在这种情况下,调用一个函数只是为了测试一个值是否为空,而你可以很容易地写if( name === null),只是愚蠢的,IMO...

if ((!(_.isUndefined(data)) || _.isEmpty(data))) {
//Valid Data 
}else {//Not Valid}