نوع داده undefined و null در جاوااسکریپت هر دو به مفهوم نبود مقدار اشاره میکنند و از این لحاظ مشابه یکدیگر هستند. با این حال جزئیات و کاربردهای این دو نوع داده با یکدیگر تفاوتهایی دارند که در ادامه به بررسی آنها میپردازیم.
بیشتر بخوانید: نوع داده در جاوااسکریپت
نوع داده undefined تنها با یک مقدار مشخص میشود و آن هم مقدار undefined است. این نوع داده به معنای عدم وجود مقدار است.
به عنوان نمونهای متداول برای این نوع داده، متغیری که در جاوااسکریپت مقداری به آن اختصاص داده نشده مقدار undefined خواهد داشت و نوع داده آن نیز undefined است. بنابراین نتیجه تعریف متغیر زیر که فاقد مقداردهی اولیه است نیز چنین خواهد بود:
let myVar;
به عنوان نمونهای دیگر، در صورت عدم تعیین مقدار برگشتی برای یک تابع، undefined برگردانده میشود (هر دو تابع زیر نمایانگر چنین حالتی هستند):
function myFunction() {
let x = 2;
}
function myFunction2() {
return;
}
به علاوه در هر زمان، با انتساب مقدار undefined به یک متغیر (مانند x = undefined;)، نوع آن هم به undefined تغییر مییابد.
نوع داده null نیز تنها با یک مقدار مشخص میشود و آن هم مقدار null است. این نوع داده هم به معنای عدم وجود مقدار است. اما نوع داده null معمولا با انتساب مستقیم مقدار null برای نمایش عمدی نبود مقدار در JavaScript به کار میرود:
x = null;

