جشنواره جمعه سبز شروع شد، فرصت رو از دست نده!
ورود به جشنواره
ثانیه
دقیقه
ساعت
روز
پرسش

چطور بررسی کنم که یک تابع تو جاوااسکریپت وجود دارد؟

How to check if function exists in JavaScript?

من می‌خوام بدونم چطور می‌تونم بررسی کنم که یک تابع تو جاوااسکریپت وجود داره یا نه.

به عنوان مثال، وقتی تابع onChange گاهی اوقات لود نمیشه، جاوااسکریپت خطا می‌ده که onChange یک تابع نیست. می‌خوام مطمئن بشم که اگر این تابع وجود داشت، فقط اون موقع اجرا بشه.

1403/06/05
پاسخ
محمدامین سعیدی راد توسعه دهنده استک MERN
بیوگرافی محمدامین سعیدی راد

برای بررسی اینکه آیا یک تابع تو جاوااسکریپت وجود داره یا نه، می‌تونی از چند روش استفاده کنی. یکی از بهترین و رایج‌ترین روش‌ها اینه که از typeof استفاده کنی تا نوع تابع رو بررسی کنی:

if (typeof me.onChange === 'function') {
// The function exists and is safe to call
me.onChange(str);
}

این روش خیلی ساده و مطمئنه. اگر me.onChange به عنوان تابع تعریف نشده باشه، typeof مقدار 'undefined' رو برمی‌گردونه و به این ترتیب می‌تونی از خطاهای احتمالی جلوگیری کنی.

همچنین، اگه جاوااسکریپت مدرن استفاده می‌کنی، می‌تونی از عملگر Optional Chaining استفاده کنی که کد رو حتی کوتاه‌تر و خواناتر می‌کنه:

me.onChange?.(str);

این روش بررسی می‌کنه که آیا onChange وجود داره و تابع هست یا نه، و اگر نبود هیچ کاری انجام نمی‌ده.

پاسخ: 1403/06/05
آخرین آپدیت: 1403/08/05