چطور بررسی کنم که یک تابع تو جاوااسکریپت وجود دارد؟
How to check if function exists in JavaScript?
من میخوام بدونم چطور میتونم بررسی کنم که یک تابع تو جاوااسکریپت وجود داره یا نه.
به عنوان مثال، وقتی تابع onChange
گاهی اوقات لود نمیشه، جاوااسکریپت خطا میده که onChange
یک تابع نیست. میخوام مطمئن بشم که اگر این تابع وجود داشت، فقط اون موقع اجرا بشه.
برای بررسی اینکه آیا یک تابع تو جاوااسکریپت وجود داره یا نه، میتونی از چند روش استفاده کنی. یکی از بهترین و رایجترین روشها اینه که از 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
وجود داره و تابع هست یا نه، و اگر نبود هیچ کاری انجام نمیده.