Comment by WorldMaker
Comment by WorldMaker 15 hours ago
The fun trick is that Invalid Date is still a Date:
> let invalid = new Date('not a date')
> invalid
Invalid Date
> invalid instanceof Date
true
You were half-correct on expecting NaN, it's the low level storage of Invalid Date: > invalid.getTime()
NaN
Invalid Date is just a Date with the "Unix epoch timestamp" of NaN. It also follows NaN comparison logic: > invalid === new Date(NaN)
false
It's an interesting curio directly related to NaN.
> Invalid Date is just a Date with the "Unix epoch timestamp" of NaN. It also follows NaN comparison logic: > > > invalid === new Date(NaN) > false
This is just because a JS Date is an object and have nothing to do with the inner representation.