2017-02-04 35 views
0

Есть ли примитив или структура данных в javascript, который всегда будет возвращать true по сравнению с числом? То естьСтруктура/примитив Javascript, который всегда будет возвращать true по сравнению с числом

theVariable > x //true 

где x - любое число целочисленного типа?

+1

возможно '-Infinity'? – CodinCat

+1

Некоторые объекты возвращают 'true'. Например, 'new Date()> 4' является' true' и 'typeof new Date()' is '" object "'. Не уверен, почему вы хотели бы сравнить тип non-number с числом. –

+2

@CodinCat -Infinity не больше любого числа: p –

ответ

0

где x - любое число целочисленного типа?

Integer не type в ECMAScript, так что если это условие, то в первую очередь необходимо проверить, если х представляет собой целое число, так что-то вроде:

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

будет делать эту работу.

isInteger тест строг, поэтому если значения является строкой, как «2» она не будет выполнен. Если строки должны быть разрешены затем преобразовать в номер первый, например .:

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

Чтобы использовать Number.isInteger, поддержка ECMAScript 2015 требуется для того, IE является оправданной, MDN имеет polyfill.

Если вы просто хотите проверить, если значение конечное число, то просто:

Number.isInteger(value); 

который возвращает ложь для бесконечности и -Infinity и верно для всех целых чисел между (который может быть представлен в ECMAScript).

Смежные вопросы