مهندس نرمافزار هستم و به عنوان Senior Software Engineer مشغول به کارم. به جاوااسکریپت، پایتون، دیتابیسها و طراحی و معماری نرمافزار علاقه زیادی دارم. وبلاگهام: yavarjs.ir و hamidreza.tech
جاوااسکریپت: بررسی این که آیا یک متغیر تعریف شده است یا نه
![](https://files.virgool.io/upload/users/2800/posts/h9py8orsfqev/wsqihauwtoyb.png)
در جاوااسکریپت یک متغیر تعریف شده است «اگر و فقط اگر» حین ِ دسترسی به آن خطای ِ 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
لینک پست اصلی در وبلاگ شخصی بنده: http://mahdavipanah.com/blog/js-variable-exists/
مطلبی دیگر از این انتشارات
یک لقمه Sass دور هم
مطلبی دیگر از این انتشارات
Sass
مطلبی دیگر از این انتشارات
نصب و راه اندازی storybook