是> =等于> || ===或> ||在JavaScript中==?

时间:2018-05-23 12:25:17

标签: javascript

以下if语句

if (a >= b) 

等于此?

if (a > b || a === b)

或者它与此相同吗?

if (a > b || a == b)

5 个答案:

答案 0 :(得分:9)

相当于if(a > b || a == b)

var a = "2";
var b = 2;

console.log(a >= b); // true
console.log(a > b || a == b); // true (== compares value)
console.log(a > b || a === b); // false (=== compares value and type)

答案 1 :(得分:0)

实际上是第一个

if(a >= b)

类似
if(a > b || a == b) 

但不等于

if(a > b || a === b)

因为在最后一个中你甚至比较了两个操作数的类型。

实施例: x =" 5"

console.log(x==parseInt(x)) will return true
console.log(x===parseInt(x)) will return false

所以,==不考虑操作数的类型。

答案 2 :(得分:0)

您可以在控制台中测试它:

var a = 0;
var b = '0';

a == b; // true
a === b; // false
a >= b; // true

Ergo,>=相当于> || ==

答案 3 :(得分:0)

实际结果取决于[RegularExpression(@"^\p{L}+(\s+\p{L}+)+$", ErrorMessage = "Du måste skriva både för- och efternamn")] typeofa的用例。 b(a >= b)相同,(a > b || a === b)==相同。这是因为var a = "2"; var b = "2"; console.log(a >= b); // true console.log(a > b || a == b); // true console.log(a > b || a === b); // true var a = "4"; var b = 4; console.log(a >= b); // true console.log(a > b || a == b); // true console.log(a > b || a === b); // false与类型强制相等



In [41]: ! python manage.py collectstatic




答案 4 :(得分:-3)

这取决于。如果在声明之前您已经使用不同的类型定义了a或b,

if(a > b || a === b)
如果第一个子句不为真,

将返回false。但是,如果您没有定义a或b,则它们将具有相同的类型,并且两个表达式都是等效的。

您可以将“===”理解为

(a == b && sameType(a,b))