در جاوااسکریپت یک متغیر تعریف شده است «اگر و فقط اگر» حین ِ دسترسی به آن خطای ِ ReferenceError تولید نشود.
راه ِ معمولی که خیلیها برای ِ بررسی ِ تعریف شده بودن ِ یک متغیر استفاده میکنن، به شکل ِ زیر است:
typeof variableName !== 'undefined'
عبارت ِ بولین ِ بالا در دو حالت مقدار ِ false خواهد داشت:
- متغیر ِ مورد ِ نظر در scope وجود نداشته باشد
- متغیر ِ مورد ِ نظر وجود داشته باشد و مقدار آن undefined باشد
در غیر ِ این صورت عبارت، مقدار ِ true را برمیگرداند.
اما راه ِ مطمئن، درست و البته کمی پردردسر ِ این مشکل، این است که تلاش کنیم تا به متغیر دسترسی پیدا کنیم و سپس اگر خطای ِ RefrenceError تولید شد، آن را catch کنیم و از این طریق بفهمیم که متغیر تعریف شده یا نه:
var barIsDeclared = true; try { bar; } catch (e) { if (e.name === "ReferenceError") { barIsDeclared = false; } }
منبع: https://stackoverflow.com/questions/16719277/checking-if-a-variable-exists-in-javascript
سلام.وبسایت خیلی خوب و جامعی دارید.ممنون
ما در زمینه درب های ضد سرقت و ضد حریق فعالیت می
کنیم.خوشحال میشوم از وبسایت ما دیدن کنید