en.javascript.info/1-js/2-first-steps/10-bitwise-operators/2-check-integer/solution.md
2015-01-21 11:37:57 +03:00

578 B
Raw Blame History

Один из вариантов такой функции:

//+ run
function isInteger(num) {
  return (num ^ 0) === num;
}

alert( isInteger(1) ); // true
alert( isInteger(1.5) ); // false
alert( isInteger(-0.5) ); // false

Обратите внимание: num^0 -- в скобках! Это потому, что приоритет операции ^ очень низкий. Если не поставить скобку, то === сработает раньше. Получится num ^ (0 === num), а это уже совсем другое дело.