因为使用后者很容易导致栈溢出。
const a = Number.MAX_VALUE- 10;
const b = Number.MAX_VALUE ;
const lolzzzzz = ( a + b ) / 2;
const safeWay = a + (a-b)/2
JavaScript 采用IEEE754 标准定义的64 位浮点格式表示数字,它能表示最大值(Number.MAX_VALUE)为±1.7976931348623157e+308,最小值(Number.MIN_VALUE)为±5e-324。
两个最大值相加明显超过了JS能表示的数值范围。如果选择后者,先计算a-b,就不会有这种风险。