در فصول گذشته دیدیم که متغیر ها می توانند دارای مقادیری از انواع داده اولیه یا ثانویه باشند، در زبان جاوا اسکریپت دو نوع داده دیگر نیز به نامهای null و undefined در گروه اولیه وجود دارد که میتوانند به متغیری اختصاص داده شوند و معنی خاصی دارند.
نوع داده نوع داده null در زبان جاوا اسکریپت
متغیری از نوع داده null متغیری است که اکنون هیچگونه مقداری ندارد و در آینده مقداری به آن انتساب داده خواهد شد.
نوع داده null نشانگر عدم وجود یک مقدار است و از انواع داده اولیه محسوب می شود.
در مثال زیر متغیر myVar
از نوع داده null است:
var myVar = null;
alert(myVar); // null
فصل 16 – مثال 1
در هنگام کد نویسی جاوا اسکریپت به همراه زبان html اگر شما تلاش کنید که با فانکشن getElementByID
المان اچ تی ام الی را به دست آورید و آن المان وجود نداشته باشد، مقدار بازگشتی null خواهد بود.
پیشنهاد می شود که همیشه قبل از دسترسی به المان های HTML وضعیت null بودن یا نبودن آن ها را بررسی کنید مانند مثال زیر:
var saveButton = document.getElementById("save");
if (saveButton !== null)
saveButton.submit();
فصل 16 – مثال 2
نوع داده null در شروط برنامه نویسی برابر false خواهد شد. به مثال زیر توجه کنید:
var myVar = null;
if (myVar)
alert("myVar is not null');
else
alert("myVar is null" );
فصل 16 – مثال 3
نوع داده undefined در زبان جاوا اسکریپت
نوع داده undefined نشانگر مقدار نامشخص و تعیین نشده است و از انواع اولیه داده محسوب می شود.
شما در هنگامی که تلاش کنید صفتی را در یک شی به دست آورید که آن صفت وجود ندارد مقدار undefined باز خواهد گشت. مانند مثال زیر:
function Sum(val1, val2)
{
var result = val1 + val2;
}
var result = Sum(5, 5);
alert(result);// undefined
فصل 16 – مثال 4
اگر به یک فانکشن تعداد پارامتر کمتری نسبت به آن چیزی که برایش تعریف شده انتقال دهید، پارامتر های باقی مانده همه undefined خواهند بود. مانند مثال زیر:
function Sum(val1, val2)
{
return val1 + val2; // val2 is undefined
}
Sum(5);
فصل 16 – مثال 5
نوع داده undefined نیز در شروط برنامه نویسی برابر false خواهد شد. مانند مثال زیر:
var myVar;
if (myVar)
alert("myVar evaluates to true");
else
alert("myVar evaluates to false");
فصل 16 – مثال 6
در زبان برنامه نویسی جاوا اسکریپت انواع داده null و undefined دلیل های اصلی ایجاد پیغام خطا در هنگام کامپایل کد ها هستند. اگر شما از وجود یک المان یا یک صفت در یک Object مطلع نیستید، قبل از استفاده از آن بهتر است بررسی کنید که آیا نوع داده برابر با null یا undefined است یا خیر. (فقط کافی است نام متغیر را در شرط بگذارید)
با سلام
من برنامه ایی نوشتم و زمانی که اجرا میکنم پیغام خطا undefined می دهد چه جوری براتون ارسال کنم برنامه رو که راهنمایی کنید؟
ممنون میشم
سلام سعید عزیز، ایمیل کنید لطفا: me[at]mehdinazari.com
می تونید کد هاتون رو توی سایت codepen.io بنویسید و لینک بدید من ببینم.