Почему infinity - infinity = NaN? где здесь хорошый математик
Infinity - все значения, выходящие за рамки представления чисел с плавающей точкой.
Бесконечность - не число, а идея. В математике с бесконечностью вообще нельзя выполнять арифметические операции. Все верно.
lim (n³) - lim (n²)
→∞ →∞
Не равно нулю )
console.log( 1e1000**3 ) // Infinity
console.log( 1e1000**2 ) // Infinity
// Бесконечность можно получать разными способами...
console.log( 1e1000**3 - 1e1000**2 ) // NaN
Есть стандарт описывающий механику.
https://tc39.es/ecma262/#sec-ecmascript-language-types-number-type
Часть неопределяемых операций возвращают NaN часть бесконечность а некоторые 0
Потому что когда-то в прошлом "хорошые математики" собрались и приняли стандарт, в котором определили, что infinity - infinity = NaN. Вероятно, решили они так потому, что конкретный результат такой операции не может быть определён.