در این مطلب قصد داریم تفاوت بین null و undefined رو در Javascript مورد بررسی قرار بدیم و ببینیم که چه کاربردی دارن و چطور تصمیم بگیریم که از کدوم یکی از اونا استفاده کنیم.
در واقع استفاده از null به این معنی هست که شما متغیرتون رو مقداردهی کردید اما به اون مقدار تهی رو دادید اما undefined به این معنا هست که شما فعلا مقداری به متغیرتون نسبت ندادید اما این امکان وجود داره که در هر جای کدنویسی به متغیر مقدار جدیدی رو نسبت بدید.
در واقع در undefined متغیر تعریف شده اما هنوز مقدار دهی نشده. در کد زیر متغیر TestVar تعریف شده اما مقدار خاصی به آن تخصیص داده نشده. بنابراین در هر جای برنامه که متغیر TestVar فراخوانی بشه با پیغام undefined مواجه میشید.
var TestVar; alert(TestVar); //shows undefined alert(typeof TestVar); //shows undefined
اما null خودش یک مقدار برای متغیر به شمار میاد. در واقع شما با استفاده از null مقدار تهی رو به متغیر اختصاص میدید.
var TestVar = null; alert(TestVar); //shows null alert(typeof TestVar); //shows object
با توجه به مثالهای بالا میشه متوجه شد که null و undefined دارای typeهای متفاوتی هستن. Undefined خودش یک type به شمار میاد ولی null یک object هست و خودش نوع مخصوص و جداگانه نیست.
در آخر برای تکمیل مطالب فوق به کدهای زیر توجه کنید:
null === undefined // false null == undefined // true null === null // true
همونطور که میبینید زمانی که از == استفاده میکنید چون بصورت ضمنی تغییر نوع صورت میگیره، هر دو به false تبدیل میشن و در نتیجه با هم برابر میشن و true برگشت داده میشه. اما وقتی از === استفاده میشه دیگه تغییر نوع یا Type صورت نمیگیره و به خاطر همین نتیجه false خواهد بود.
به همین راحتی.
پس از این به بعد با توجه به توضیحات بالا از مقدار مناسب استفاده کنید.
mammon az tozihetun