پیشنهاد شگفت‌انگیز سبزلرن: 50% تخفیف برای دوره پروژه های تخصصی با جاوا اسکریپت برای بازار کار
مشاهده دوره
ثانیه
دقیقه
ساعت
روز
پرسش

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

How to check if function exists in JavaScript?

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

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

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

برای بررسی اینکه آیا یک تابع تو جاوااسکریپت وجود داره یا نه، می‌تونی از چند روش استفاده کنی. یکی از بهترین و رایج‌ترین روش‌ها اینه که از 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