Javascript数据结构/原语,与数字相比总是返回true

时间:2017-02-04 06:02:01

标签: javascript logical-operators primitive

javascript中是否存在基元或数据结构,与数字相比总会返回true?即。

theVariable > x //true

其中x是整数类型的任意数量?

1 个答案:

答案 0 :(得分:0)

  

其中x是整数类型的任意数量?

Integer不是ECMAScript中的type,所以如果这是一个条件,那么首先需要测试 x 是否为整数,如下所示:

Number.isInteger(value) && Infinity > value;

将完成这项工作。

isInteger 测试是严格的,因此如果 value 是一个类似“2”的字符串,它将失败。如果应该允许字符串,则首先转换为Number,例如:

Number.isInteger(+value) && Infinity > value;

要使用 Number.isInteger ,需要支持ECMAScript 2015,因此IE可以原谅,MDN有polyfill

如果您只是想测试是否为有限整数,那么只需:

Number.isInteger(value);

对于 Infinity -Infinity 返回false,对于其间的所有整数都返回true(可以在ECMAScript中表示)。