به نام خدا با سلام خدمت کد ایتی های عزیز در ادامه سری مقالات اموزشی جاوا اسکریپت این جلسه به تفاوت Undefined و Undeclared در جاوا اسکریپت پرداخت با ما همراه باشید.
تفاوت بین متغیرهای تعریف نشده و تعریف نشده در جاوا اسکریپت:
متغیر Undefined به این معنی است که یک متغیر اعلام شده است اما مقداری ندارد.
متغیر Undeclared به این معنی است که متغیر اصلاً در برنامه وجود ندارد.
برای درک بهتر این موضوع به مثال های زیر توجه نمایید.
Undefined Variable (متغیر تعریف نشده)
برای دیدن نمونه ای از یک مقدار تعریف نشده، یک متغیر را اعلان کنید اما به آن مقداری اختصاص ندهید:
1 2 |
var dog; console.log(dog); |
خروجی:
1 |
Undefined |
این همان چیزی است که از یک متغیر تعریف نشده در جاوا اسکریپت استفاده می شود. اعلان شده است اما مقداری ندارد.
مطالب پر بازدید : زبان برنامه نویسی کاتلین چیست ؟
Undeclared Variable (متغیر اعلان نشده)
نمونه ای از متغیرهای اعلام نشده زمانی است که چنین متغیری در برنامه وجود ندارد.
به عنوان مثال، بیایید سعی کنیم متغیری به نام cat را بدون داشتن چنین متغیری در برنامه چاپ کنیم:
1 |
console.log(cat); |
خروجی :
1 |
ReferenceError: cat is not defined |

تفاوت Undefined و Undeclared در جاوا اسکریپت
چگونه بررسی کنیم که یک متغیر در جاوا اسکریپت تعریف نشده است؟
1 |
someVar === undefined |
مطالب پیشنهادی : آموزش مقدماتی جاوااسکریپت به صورت جامع
چگونه بررسی کنیم که یک متغیر در جاوا اسکریپت اعلام نشده است؟
اگر سعی کنید به یک متغیر اعلام نشده در جاوا اسکریپت دسترسی پیدا کنید، یک ReferenceError دریافت می کنید. زیرا اگر چنین متغیری وجود نداشته باشد، نمی توانید از آن استفاده کنید.
اما آیا این بدان معناست که برای بررسی وجود متغیر در یک برنامه باید مدیریت خطا را انجام دهیم؟ خیر
اپراتور typeof کمک بزرگی در این مورد به ما میکند.
برای بررسی اینکه آیا متغیری در برنامه وجود دارد، از عملگر typeof استفاده می کنیم. با یک متغیر اعلان نشده ReferenceError ایجاد نمی کند. در عوض، «undefined» برمی گردد.
به عنوان مثال
1 2 3 |
if(typeof cat === "undefined") { console.log("Cat does not exist in the program"); } |
خروجی:
1 |
Cat does not exist in the program |
مطالب پیشنهادی : آموزش مقدماتی کاتلین صفر تا صد با کدایت
دیدگاهتان را بنویسید