Удалить ifs из кода Javascript - PullRequest
0 голосов
/ 02 мая 2018

Можно ли программировать без операторов if в функциональном программировании в JS?

В Haskell вы можете сделать сопоставление с образцом: знак х | х> 0 = 1 | х == 0 = 0 в js:

sing = x => {
  if (x > 0) return 1;
  else if (x == 0) return 0
}

Я могу сделать сокращение, если оператор что-то вроде этого:

sign = x => x > 0 ? 1 (x == 0 ? 0 : x)

Можно ли сделать код короче без библиотеки и оператора?: Выше?

1 Ответ

0 голосов
/ 02 мая 2018

Возможно, это не тот ответ, который вы ищете, но самый короткий способ написать этот код:

return !!x+0; 

Объяснение * * 1004 !! x преобразует x в логическое значение: x> 0 == true x = 0 == false; + 0 приводит к целому числу: true = 1, false = 0. Но нет другого стиля, кроме использования?: Operator. javascript стенография полезность

В JavaScript у вас есть другие полезные трюки, такие как:

  • Автоматическое приведение вещей в ловушку или ложь. (когда требуется логическое значение)
  • Или оператор, возвращающий значение, легкое для объединения нулей: var name = null || 'joel' // name = 'joel'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...