javascript中的条件检查
这两者之间的区别是什么:javascript中的条件检查,javascript,jquery,object,Javascript,Jquery,Object,这两者之间的区别是什么: !!(obj1 && obj2); 及 没有 总的来说!!用于在不使用函数调用的情况下强制转换为布尔值,类似于0^可用于强制转换为整数,+可用于强制转换为字符串等 但是,在本例中,假设它在if语句中,则没有任何区别,因为if隐式转换为布尔值,以查看它是否为真。第一个可能返回字符串或对象,第二个可能返回布尔值 因为对象在javascript中可以是truthy,所以如果是truthy,A&&B将返回B的值,这可能是一个对象。但是使用!!将其转换为布尔值,
!!(obj1 && obj2);
及
没有
总的来说!!用于在不使用函数调用的情况下强制转换为布尔值,类似于0^可用于强制转换为整数,+可用于强制转换为字符串等
但是,在本例中,假设它在if语句中,则没有任何区别,因为if隐式转换为布尔值,以查看它是否为真。第一个可能返回字符串或对象,第二个可能返回布尔值 因为对象在javascript中可以是truthy,所以如果是truthy,A&&B将返回B的值,这可能是一个对象。但是使用!!将其转换为布尔值,因为!B将把它转换为真或假,第二个!将其移动到正确的布尔值 两种方法不同的示例:
var a = "test", b ="example"
var ex1 = ((a && b) === true) // false
var ex2 = (!!(a && b) === true) // true
控制台。日志'a'和'b',!!'a′&&b′-你为什么不在问之前试一下?是的,我知道,这很无聊,但是检查你自己需要10秒钟-懒散是没有的-那不是真的。你的假设太多了
var a = "test", b ="example"
var ex1 = ((a && b) === true) // false
var ex2 = (!!(a && b) === true) // true