我有一个返回JavaScript中数字&&数字的代码。 我试图在控制台中编写返回num1 && num2,并且它始终返回num2。
答案 0 :(得分:0)
如果num1
为“假”(错误,未定义,零或null或空字符串),则将获得num1
的值。否则,您将获得num2
的值。
这是因为(像许多其他计算机语言一样)&&
是所谓的“短路”布尔值。如果第一个操作数为伪,则第二个操作数对于逻辑AND操作而言无关紧要,因此不会对其求值。
如果第一个操作数是“真值”,则评估继续到第二个操作数,结果是该第二个操作数的值。
与许多其他语言不同,JavaScript布尔运算符不一定会产生布尔值。非布尔操作数可用于获取非布尔结果。
答案 1 :(得分:0)
&&运算符通常称为逻辑与。也可以称为守卫。如果第一个操作数为false,null,未定义,“”(空字符串)或数字0,则它将返回第一个操作数。否则,它将返回第二个操作数。