تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Ali
const و final
جامعه فلاتر ایجاد شده در ۰۶ آذر ۱۴۰۰
<p>یکی از دوستان در پاسخ به یکی از سوالات گفته بودند که : <span style=\"background-color: rgb(243, 252, 254); color: rgb(50, 74, 98);\">خیر ، اجباری نیست و فقط وقتی میخوای مقدار متغیرت تغییر نکنه و ثابت بمونه از final یا const استفاده می‌کنیم. </span></p><p><span style=\"background-color: rgb(243, 252, 254); color: rgb(50, 74, 98);\">فرق اصلی بین const , و final چیه ؟ </span></p><p>چه زمانی استفاده کردن از هر کدوم میتونه نتیجه بهتری بده یا واقعا فرق آن چنانی ندارند ؟ </p>

تفاوتشون این هست که:

CONST: وقتی یک variable رو const تعریف می‌کنیم، از زمان کامپایل شدن وضعیت (state) اونها تعیین می‌شه و دیگه قابل تغییر نیست، اصطلاحا Freeze می‌شه و به طور کامل Immutable (غیر قابل تغییر) هستش. در نتیجه هنگام rebuild شدن یک widget بدون چک کردن وضعیتشون (مثلا مقادیر property‌های اون کلاس) روی صفحه رندر می‌شن.

Final: اما در مورد final اینطور نیست، درسته که final باعث جلوگیری از تغییر مقدار variable‌ها می‌شه، اما باعث immutable شدن کلاس‌ها نمی‌شه و هنگام rebuild widget‌ها دوباره وضعیتشون باید بررسی بشه که این باعث هدر رفتن performance می‌شه.


البته این افت performance خیلی کمه اما زمانی که تعداد rebuild شدن یک widget زیاد باشه و اپ بزرگ بشه تاثیر خودش رو کاملا نشون می‌ده

بهترین پاسخ
سعید شاهینی ۰۷ آذر ۱۴۰۰، ۰۸:۱۴