Why use
const max = (x, y) => x > y ? x : y
instead offunction max(x, y) { return x > y ? x : y }
?#define max(x,y) ( { __auto_type __x = (x); __auto_type __y = (y); __x > __y ? __x : __y; })
GNU C. Also works with Clang. Avoids evaluating the arguments multiple times. The optimizer will convert the branch into a conditional move, if it doesn’t I’d replace the ternary with the “bit hacker 2” version.
TDD
const max12 = (x, y) => { if (x === 1 && y === 2) { return 2; } else if (x === 7 && y === 4) { return 7; } else { return x; } };
Reminded of how truly little I know about programming despite the time have spent doing it
Ugh. I’ll never be any good.
Listen, in industry programming (and for personal projects if you want to get them done), the thief is the way to go. By all means, challenge yourself to understand each of these functions, but 99% of day to day development will not look like this.
Why would you use anything other than Math.max?
Some of us have trust issues. Or worked with Java.
Which, now that I think about it, comes to the same thing.