isDate
Checks whether a value is a valid Date instance.
This helper verifies two things:
- The value is actually a
Dateobject (instanceof Date). - The internal timestamp is valid (
getTime()is notNaN).
It never throws and never mutates input.
Signature
function isDate(value: unknown): value is Date
| Name | Data type | Description |
|---|---|---|
| value | unknown |
The value to check. Must be a Date instance with a valid timestamp to return true. |
Returns
A boolean:
true: If the value is a Date instance and its timestamp is valid.false: Otherwise.
Examples
isDate(new Date()) // true
isDate(new Date("2020-01-01")) // true
isDate(new Date("invalid")) // false
isDate(Date.now()) // false
isDate("2020-01-01") // false
isDate(null) // false
isDate({}) // false
Notes
- Invalid
Dateobjects such asnew Date("invalid")are rejected because their time value isNaN. - This helper does not attempt to parse or coerce values into dates.
- Use
normalizeDateif you need to convert values intoDateinstances. - Use
validateDateif you need aResult<T>instead of a boolean.