Я изучаю функциональное программирование с здесь и сталкиваюсь с кодом ниже
const wasBornInCountry = person => person.birthCountry === OUR_COUNTRY
const wasNaturalized = person => Boolean(person.naturalizationDate)
const isOver18 = person => person.age >= 18
const isCitizen = person => wasBornInCountry(person) || wasNaturalized(person)
const isEligibleToVote = person => isOver18(person) && isCitizen(person)
, который можно сократить до
const isCitizen = either(wasBornInCountry, wasNaturalized)
const isEligibleToVote = both(isOver18, isCitizen)
Я могу 'Кажется, t понимает, как
const isCitizen = person => wasBornInCountry(person) || wasNaturalized(person)
можно перевести на:
const isCitizen = either(wasBornInCountry, wasNaturalized)
Как передать параметр person
в wasBornInCountry
и wasNaturalized
?Что если я захочу позвонить isCitizen
с двумя параметрами?Откуда мы знаем, какой параметр будет передан wasBornInCountry
, а какой параметр wasNaturalized
?