← Назад к вопросам
Как проверить является ли число четным в JS?
1.8 Middle🔥 181 комментариев
#JavaScript Core
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI3 апр. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Как проверить четность числа в JavaScript
Для проверки четности числа используется оператор модуля (%). Четное число делится на 2 без остатка, то есть число % 2 равно нулю.
Основной способ: оператор модуля (%)
Оператор % возвращает остаток от деления. Если число делится на 2 нацело, остаток будет 0.
const isEven = (num) => num % 2 === 0;
console.log(isEven(4)); // true (четное)
console.log(isEven(7)); // false (нечетное)
console.log(isEven(0)); // true (ноль четный)
console.log(isEven(-2)); // true (отрицательные числа тоже работают)
Проверка для нечетных чисел
const isOdd = (num) => num % 2 !== 0;
console.log(isOdd(3)); // true (нечетное)
console.log(isOdd(8)); // false (четное)
console.log(isOdd(-5)); // true (нечетное отрицательное)
Побитовый оператор (&)
Этот способ немного быстрее, но менее очевиден:
const isEven = (num) => (num & 1) === 0;
console.log(isEven(4)); // true
console.log(isEven(7)); // false
Почему это работает: в двоичной системе четные числа заканчиваются на 0, нечетные на 1. Операция & 1 проверяет последний бит.
Полная валидация с проверкой типа
Лучше всегда проверять что это реально число:
const isEvenNumber = (num) => {
// Проверяем что это число
if (typeof num !== 'number' || isNaN(num)) {
throw new Error('Аргумент должен быть числом');
}
// Проверяем что это целое число
if (!Number.isInteger(num)) {
throw new Error('Число должно быть целым');
}
return num % 2 === 0;
};
console.log(isEvenNumber(4)); // true
console.log(isEvenNumber(3.5)); // Error: целое число
console.log(isEvenNumber('4')); // Error: число
Использование в фильтрации массивов
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4, 6, 8, 10]
const oddNumbers = numbers.filter(num => num % 2 !== 0);
console.log(oddNumbers); // [1, 3, 5, 7, 9]
Вывод
Оптимальный способ: num % 2 === 0 для проверки четности. Это:
- Простой и понятный код
- Хорошая производительность
- Работает с любыми целыми числами
- Легко запомнить и объяснить
Используй побитовый оператор & только если действительно нужна максимальная производительность в критичном коде.