جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره ها
    • راهنمای یادگیری
  • بلاگ
  • تالار گفتمان
  • کانال تلگرام

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت
perm_identity
سبد خرید 0
  • درباره ما
  • تماس با ما
0
آموزش های کاربردی جاوا اسکریپت
  • صفحه اصلی
  • دوره ها
    • راهنمای یادگیری
  • بلاگ
  • تالار گفتمان
  • کانال تلگرام
ورود و ثبت نام

وبلاگ

آموزش های کاربردی جاوا اسکریپت > بلاگ > جاوااسکریپت > تفاوت ها و شباهت های Null و Undefined در جاوا اسکریپت

تفاوت ها و شباهت های Null و Undefined در جاوا اسکریپت

تفاوت ها و شباهت های undefiend و null در جاوا اسکریپت

جاوا اسکریپت یک زبان جالب و دوست داشتنیه که ممکنه در ذهن ما سوالات زیادی رو ایجاد کنه.یکی از مسائل گیج کننده در جاوا اسکریپت تفاوت ها و شباهت های بین Null و Undefined هست.اکثر برنامه نویسان با Null آشنایی کامل دارند و دلیلش هم میتونه این باشه که در اکثر زبان های برنامه نویسی وجود داره.اما undefined در جاوا اسکریپت چیه؟

null در جاوا اسکریپت

null یعنی هیچ value وجود نداره.دقیقا شبیه دیگر زبان های برنامه نویسی شما می تونید null رو به عنوان value به یک متغیر اختصاص بدید که نشان دهنده این است این متغیر هیچ value ندارد.به مثال زیر توجه کنید:

1
2
3
let value = null;
console.log(value);
// null

undefined در جاوا اسکریپت

حب تا اینجا مفهوم null رو درک کردیم اما undefined واقعا چه معنا و مفهومی داره؟

undefined معمولا به این معنیه که متغیر declare شده اما هنوز تعریف نشده است.

از مثال قبلی استفاده میکنیم و یک سری تغییرات کوچیک در اون اعمال میکنیم تا undefined رو درک کنیم:

1
2
3
let value;
console.log(value);
// undefined

در این مثال متغیر declare شده ولی هیچ value به اون اختصاص داده نشده پس نتیجه اون میشه undefined.دقیقا مشابه null شما میتونید value یک متغیر رو برابر با undefined قرار بدید.

1
2
3
let value = undefined;
console.log(value);
// undefined

سناریو متداول دیگری که شما با undefined روبرو می شوید زمانی است که شما قصد دارید به یک property از object دسترسی داشته باشید که وجود نداره.به مثال زیر توجه کنید

1
2
3
let myObject = {};
console.log(myObject.value);
// undefined

در ادامه چنیدن سناریو که برای شما در نتیجه undefined برگشت داده میشه رو لیست میکنم:

  • یک object که declare شده اما define نشده.
  • دسترسی به property یک object یا index یک آرایه که وجود نداره.
  • فراخوانی یک تابع بدون پارامتر های مورد نیازش.

شباهت های Null و Undefined

null و undefined هر دو primitive values در جاوا اسکریپت هستند.Boolean, String و Number نیز در جاوا اسکریپت primitive values هستند.نکته دیگر که باید بهش توجه داشته باشید،زمانی است که شما Null و Undefined رو مقایسه می کنید که با همدیگه برابر هستند.دلیل این موضع هم این است که هردو آنها falsy values در جاوا اسکریپت در نظر گرفته می شوند.

null == undefined

تفاوت های Null و Undefined

من در بسیاری از کدها دیدم که از null checking برای properties هایی که تعریف نشده اند،استفاده شده اسنت.این کار اشتباه است و منجر به نتایج غیرقابل انتظاری خواهد شد.properties های تعریف نشده در بسیاری از زبان های برنامه نویسی به صورت پیشفرض null در نظر گرفته می شود اما در جاوا اسکریپت undefined در نظرگرفته می شود.اون چیزی که باعث گمراهی بیشتر میشه اینکه شما اگر (x == null) رو چک کنید حتی اگر x در واقع undefined باشد،نتیجه چک true خواهد بود.دلیل این موضع برمیگرده به type coercion که در جاوا اسکریپت اتفاق میفته.

1
2
console.log(typeof(undefined));  //"undefined"
console.log(typeof(null));       //"object"

1
2
null !== undefined
null == undefined

یکی دیگه از تفاوت های جالبی که شما باید بهش توجه داشته باشید زمان انجام عملیات های ریاضی با null و undefined است.عملیات های با null value نتیجه integer value خواهد داشت در حالی که هر عملیات ریاضی با undefined نتیجه اون Nan خواهد بود.

1
2
3
4
5
6
7
let a = 5 + null;
console.log(a);
// 5
 
let b = 5 + undefined;
console.log(b);
// NaN

اگر از این مقاله لذت بردید و براتون مفید بود،اون رو با دوستان و همکارنتون به اشتراک بزارید .

منبع : بلاگ مشفق همدانی

 

اشتراک گذاری:
برچسب ها: آموزش javascriptآموزش جاوا اسکریپتجاوا اسکریپت
مطالب زیر را حتما بخوانید
  • آرایه ها در جاوا اسکریپت
    آرایه ها در جاوا اسکریپت(javascript)

    25 بازدید

  • تفاوت بین let-cont-var در جاوا اسکریپت
    تفاوت های var,let و const در جاوا اسکریپت

    42 بازدید

  • مقایسه jquery و react
    مقایسه React و jQuery

    86 بازدید

  • کار با console در جاوا اسکریپت
    Console Debugging پیشرفته در جاوا اسکریپت

    43 بازدید

  • تفاوت بین forEach و map در جاوا اسکریپت
    تفاوت های بین forEach و map در جاوا اسکریپت

    82 بازدید

جدید تر آرایه ها در جاوا اسکریپت(javascript)

پاسخی بگذارید لغو پاسخ

جستجو
جستجو برای:
دسته‌ها
  • Material UI
  • NodeJS
  • React
  • React Native
  • Vue Js
  • آموزش متنی
  • استارت آپ و آموزش
  • برنامه نویسی
  • جاوااسکریپت
  • گپ و گفت
reactapp-logo
  • phone_android
    09150274110
  • email
    contact@reactapp.ir
  • بلاگ
  • تله فیلم آموزشی
  • قوانین
  • سوالات متداول
  • آموزش متنی
کلیه حقوق این سایت محفوظ و متعلق به reactapp.ir میباشد.
keyboard_arrow_up
کاربران عزیز وب سایت reactapp، اختلالاتی در دانلود دوره ها به دلیل بروزرسانی سایت به وجود آمده است. ضمن پوزش از مشکل به وجود آمده از صبر و شکیبایی شما سپاسگذاریم.