Вопрос №55405 от пользователя Андрей в уроке «Условия и принятия решений», курс «Введение в программирование»
Проанализируйте следующий код (см. «Тернарный оператор» в тексте урока):
// функция-предикат определяет, является ли число num четным const isEven = num => num % 2 === 0;
// функция увеличивает полученное число num на 10 const increaseNum = num => num + 10;
const num = 6;
const result = isEven(increaseNum(num) + 1) ? num + 1 : 1 - num; Какое значение содержит константа result?
Хотелось бы уточнить, почему в качестве ответа было -5? Я так полагаю сначала вызывается функция "increaseNum(num)". В этой функции происходит сложение 6+10=16. Дальше выполняется функция "isEven(16 + 1 = 17)". Далее получается, что мы сравниваем, есть ли остаток от деления 17 на 2. Он есть: 5. 1-5=-4. Подскажите, может где-то что-то упустил. Буду очень благодарен
Андрей, здравствуйте.
isEven(17) возвращает false, выполняется инструкция 1 - num
, 1 - 6 = -5.
Вячеслав Павлов, Понял, спасибо!
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







