1.38.0isDate
بررسی میکند که آیا یک مقدار نمونهای از Date است و بهعنوان type guard در TypeScript امکان محدود کردن نوع به Date را فراهم میکند.
isDate(value):value is Dateنحوه پیادهسازی
این تابع با استفاده از عملگر instanceof در JavaScript بررسی میکند که آیا مقدار نمونهای از Date است یا خیر.
Type guard
نوع بازگشتی `value is Date` باعث میشود تابع یک TypeScript type guard باشد. زمانی که true برمیگرداند، TypeScript میتواند مقدار را در محدوده narrow شده بهعنوان Date در نظر بگیرد.
آبجکتهای Invalid Date
این تابع نوع آبجکت را بررسی میکند، نه معتبر بودن timestamp داخل Date را. بنابراین یک Invalid Date همچنان true برمیگرداند.
پارامترها
valueunknownالزامیمقداری که باید بررسی شود.
مقدار بازگشتی
value is Dateاگر مقدار نمونهای از Date باشد true و در غیر این صورت false برمیگرداند. در صورت true بودن، TypeScript نوع مقدار را به Date محدود میکند.
مثالها
استفاده پایه
بررسی اینکه آیا یک مقدار نمونهای از Date است یا خیر.
isDate(new Date());
// true
isDate("2026-09-24");
// falseمحدود کردن نوع
این type guard مقدار unknown را داخل بلوک شرط به Date محدود میکند.
const value: unknown = new Date();
if (isDate(value)) {
value.getTime();
// value is narrowed to Date
}Invalid Date
یک آبجکت Date نامعتبر همچنان نمونهای از Date است، بنابراین true برمیگرداند.
const value = new Date("invalid");
isDate(value);
// trueمقادیر دیگر
رشتهها، اعداد، null، undefined و آبجکتهای معمولی نمونهای از Date نیستند.
isDate("2026-09-24");
// false
isDate(0);
// false
isDate(null);
// false
isDate({});
// false