I'm setting max to Infinity on this object:
let RANGE_DEFAULT_OPTIONS: any = { min: 0, max: Infinity };
console.log(RANGE_DEFAULT_OPTIONS); // {min: 0, max: null}
When the RANGE_DEFAULT_OPTIONS object is logged, it logs null for the max property.
Also this will log true:
console.log(RANGE_DEFAULT_OPTIONS.max === Infinity);
So are Infinity and null interchangeable?
No, they’re not.
Normally, console.log(…) called with an object, prints the object intact:
const obj = { min: 0, max: Infinity };
console.log(obj);
In the case of StackBlitz, there’s probably a call to JSON.stringify(…) somewhere down there, which messes things up (which is sad, IMO):
Here's the same code in a snippet you can run in your browser. As you can see, Infinity and null are not equal.
let RANGE_DEFAULT_OPTIONS = { min: 0, max: Infinity };
console.log(RANGE_DEFAULT_OPTIONS);
console.log('strict equality', Infinity === null);
console.log('loose equality', Infinity == null);