Can you explain to me what this JavaScript code means?
const TRUE = x => y => x;
const FALSE = x => y => y;
const IFELSE = p => a => b => p(a)(b);
console.log(IFELSE(TRUE)('1')('2')); // The result is: 1
console.log(IFELSE(FALSE)('1')('2')); // The result is: 2