Javascript 中 null 和 Infinity 可以互换吗?

Ole*_*Ole 1 javascript typescript

我正在这个对象上max设置:Infinity

let RANGE_DEFAULT_OPTIONS: any = { min: 0, max: Infinity };
console.log(RANGE_DEFAULT_OPTIONS); // {min: 0, max: null}
Run Code Online (Sandbox Code Playgroud)

RANGE_DEFAULT_OPTIONS当记录该对象时,它会记录nullmax属性。

这是 Stackblitz 演示

这也会记录true

console.log(RANGE_DEFAULT_OPTIONS.max === Infinity);
Run Code Online (Sandbox Code Playgroud)

那么Infinitynull可以互换吗?

Dmi*_*sky 5

不,他们\xe2\x80\x99 不是。

\n

通常,console.log(\xe2\x80\xa6)用对象调用会完整地打印对象:

\n

在此输入图像描述

\n

\r\n
\r\n
const obj = { min: 0, max: Infinity };\n\nconsole.log(obj);
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

在 StackBlitz 的例子中,\xe2\x80\x99s 可能会调用JSON.stringify(\xe2\x80\xa6)下面的某个地方,这把事情搞砸了(这很悲伤,IMO):

\n

在此输入图像描述

\n