null در دارت چیست و چرا اهمیت دارد؟

null در دارت چیست و چرا اهمیت دارد؟

برای مشاهده ویدیو آموزش فیلترشکن خود را خاموش کنید و صفحه را رفرش کنید

در دنیای برنامه نویسی، مفهوم null یکی از رایج‌ترین و در عین حال خطرناک‌ترین مفاهیم است. در بسیاری از زبان‌ های برنامه نویسی، null به معنای «هیچ» یا «فاقد مقدار» است. اما اگر با آن به درستی برخورد نشود، می‌تواند باعث بروز خطاهای جدی در برنامه شود.

زبان Dart که پایه اصلی فریم ورک Flutter محسوب می‌شود، از نسخه 2.12 به بعد قابلیت null safety را معرفی کرد تا جلوی بسیاری از این خطاها گرفته شود. در این مقاله می‌خواهیم به بررسی مفهوم null، نحوه مدیریت آن در دارت و اهمیت آن در ساخت اپلیکیشن‌های فلاتر بپردازیم.

این مقاله بخشی از مسیر آموزش رایگان برنامه نویسی با دارت و فلاتر است و در پایان نیز شما را با یک دوره فوق‌العاده به نام دوره فلاتر الماس آشنا خواهیم کرد.

null چیست؟

در زبان‌ های برنامه‌ نویسی، null نمایانگر این است که یک متغیر یا شیء مقداردهی نشده یا به چیزی اشاره نمی‌کند. به‌ طور مثال، فرض کنید می‌خواهید نام کاربر را نمایش دهید، اما هنوز کاربر وارد نشده است. در این صورت مقدار null نمایانگر آن است که هنوز داده‌ای وجود ندارد.

در دارت، اگر یک متغیر قابلیت گرفتن مقدار null را داشته باشد، باید به‌ طور مشخص اجازه این کار را بدهید.

null safety چیست؟

null safety یعنی اطمینان از اینکه متغیرها یا مقادیر مورد استفاده در برنامه‌ تان null نخواهند بود مگر اینکه شما به‌ صراحت این اجازه را داده باشید.

این قابلیت باعث می‌شود بسیاری از خطاهای رایج در برنامه نویسی، مخصوصا در اپلیکیشن‌های بزرگ، از بین بروند. در دارت، این ویژگی از طریق علامت سؤال ? و علامت تعجب ! در کنار نوع متغیرها یا اشیاء اعمال می‌شود.

تفاوت بین متغیرهای nullable و non-nullable

در دارت، اگر نوع یک متغیر بدون علامت سؤال نوشته شود، آن متغیر non-nullable است؛ یعنی نمی‌تواند null بگیرد:

اما اگر نوع متغیر را به صورت String? بنویسید، یعنی می‌تواند null نیز باشد:

بررسی null با شرط

برای جلوگیری از خطا در هنگام استفاده از مقادیر nullable، باید قبل از استفاده از آن‌ها، وجود مقدار را بررسی کنید:

این کار باعث می‌شود هنگام اجرا با خطای معروف null pointer exception روبرو نشوید.

استفاده از عملگر ! برای اجبار به non-null بودن

اگر شما به دارت تضمین دهید که یک متغیر nullable در زمان استفاده، null نخواهد بود، می‌توانید از ! استفاده کنید:

البته این روش فقط در صورتی توصیه می‌شود که کاملا مطمئن باشید مقدار null نیست.

استفاده از null-aware operator (??)

اگر بخواهید برای متغیری که ممکن است null باشد، یک مقدار پیش‌فرض در نظر بگیرید، می‌توانید از ?? استفاده کنید:

در این مثال اگر userName مقدار نداشته باشد، “کاربر مهمان” چاپ خواهد شد.

مقداردهی شرطی با ??=

این عملگر زمانی استفاده می‌شود که فقط در صورت null بودن مقدار، به آن مقدار جدیدی اختصاص دهید:

اگر city مقدار داشته باشد، خط بالا تغییری ایجاد نمی‌کند؛ اما اگر مقدار null باشد، مقدار “تهران” به آن اختصاص داده می‌شود.

null در لیست‌ها و کلکسیون‌ها

از نسخه‌های جدید دارت، می‌توانید عناصر nullable را در لیست‌ ها نیز تعریف کنید:

همچنین با استفاده از عملگر spread ... می‌توانید لیست‌ های nullable را به لیست‌ های دیگر اضافه کنید:

استفاده از ...? کمک می‌کند در صورت null بودن newNames، خطایی رخ ندهد.

چرا null safety در دارت مهم است؟

قابلیت null safety باعث می‌شود توسعه‌ دهندگان از خطاهای رایج مربوط به مقادیر تهی جلوگیری کنند. این موضوع در پروژه‌ های فلاتر بسیار اهمیت دارد، چون با استفاده از این قابلیت:

  • برنامه شما امن‌ تر می‌شود

  • خطاهای زمان اجرا کاهش می‌یابد

  • روند دیباگ کردن ساده‌ تر خواهد شد

  • توسعه سریع‌ تر و مطمئن‌ تری را تجربه می‌کنید

اگر می‌خواهید برنامه‌ نویسی را به‌ صورت حرفه‌ای و بدون خطا یاد بگیرید، حتما باید null safety را به‌ طور کامل درک کنید.

این مفاهیم را در دوره فلاتر الماس یاد می‌گیرید

اگر این مقاله برایتان مفید بوده و قصد دارید برنامه نویسی با فلاتر را به‌صورت حرفه‌ای یاد بگیرید، دوره فلاتر الماس بهترین گزینه برای شماست.

در این دوره، مفاهیم پایه مثل null، توابع، کلاس‌ ها، شرط‌ ها و حلقه‌ ها با جزئیات کامل و مثال‌ های پروژه‌ محور آموزش داده شده‌اند. همچنین، در ادامه دوره وارد ساخت اپلیکیشن‌ های واقعی مثل فروشگاه آنلاین، اپ رزرو، اپ خبری و… خواهید شد.

برخی ویژگی‌ های دوره فلاتر الماس:

  • آموزش صفر تا صد دارت و فلاتر

  • پروژه‌ محور بودن دوره

  • پشتیبانی دائمی از شرکت‌ کنندگان

  • تمرین‌ ها و تست‌ های مفهومی

  • دسترسی همیشگی به ویدیوها

اگر هنوز شک دارید، بخش‌هایی از دوره را به‌صورت آموزش رایگان برنامه نویسی منتشر کرده‌ ایم تا با کیفیت آموزش آشنا شوید.

دوره اپلیکیشن نویسی فلاتر الماس (آموزش صفر تا صد برنامه نویسی)

صفحه رسمی دارت درباره null 

درک درست از null و قابلیت null safety در زبان دارت، یکی از مهم‌ترین بخش‌ های یادگیری فلاتر است. این موضوع نه‌تنها باعث امنیت بیشتر برنامه‌ های شما می‌شود، بلکه توسعه اپلیکیشن را نیز سریع‌ تر و روان‌ تر می‌ کند.

با شرکت در دوره فلاتر الماس، شما تمامی این مفاهیم را در قالب پروژه‌ های واقعی یاد می‌گیرید و آماده ورود به بازار کار برنامه نویسی می‌شوید.

📞 شماره تماس: 09050369171 | 01132260635
📱 اینستاگرام: @virgoulsoft
📱 اینستاگرام: @mehrab.bozorgi

مقالات پیشنهادی برای شما

سئو (seo) چیست؟

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

چگونه طراحی سایت می‌ تواند به کسب‌ و کار ها در جذب مشتری کمک کند؟

در دنیای دیجیتال امروز، حضور آنلاین برای هر کسب‌ و کار محلی امری ضروری است. طراحی یک سایت حرفه‌ای می‌تواند به رشد، توسعه و جذب مشتریان جدید کمک کند. بسیاری

چگونه طراحی سایت می‌ تواند به رقابت کسب‌ و کار ها با رقبا کمک کند؟

در دنیای پر رقابت امروز، حضور آنلاین برای هر کسب و کاری ضروری شده است. اما فقط داشتن یک سایت کافی نیست. آنچه که یک کسب و کار را در

طراحی سایت و تاثیر آن بر تجربه کاربری مشتریان کسب‌ و کار ها

در دنیای دیجیتال امروز، تنها داشتن یک سایت کافی نیست؛ بلکه نحوه طراحی آن و تجربه‌ای که به کاربر منتقل می‌کند، نقش حیاتی در موفقیت یا شکست یک کسب‌ و