برگه تقلب متدهای آرایه در جاوااسکریپت (سری اول)
متدهای Mutating؛ همونایی که آرایه اصلی رو دستکاری میکنن!
وقتی از این متدها استفاده میکنی، دیگه خبری از آرایه قبلی نیست؛ خودش تغییر میکنه.
مثلاً اگه با push() یه مقدار اضافه کنی یا با splice() یه عنصر حذف کنی، همون آرایهای که داشتی تغییر کرده و نیازی نیست خروجی رو داخل متغیر جدید ذخیره کنی.
اگر نمیخوای داده اصلی تغییر کنه، بهتره سراغ متدهای Non-Mutating بری.
در پست بعدی میریم سراغ متدهای Non-Mutating و میبینیم چطور بدون تغییر آرایه اصلی، روی دادهها کار کنیم.
️@webehsan
متدهای Mutating؛ همونایی که آرایه اصلی رو دستکاری میکنن!
وقتی از این متدها استفاده میکنی، دیگه خبری از آرایه قبلی نیست؛ خودش تغییر میکنه.
مثلاً اگه با push() یه مقدار اضافه کنی یا با splice() یه عنصر حذف کنی، همون آرایهای که داشتی تغییر کرده و نیازی نیست خروجی رو داخل متغیر جدید ذخیره کنی.
۶۵۰
۸:۵۷
webehsan-30-days-css-series-pdf.pdf
۴.۱۹ مگابایت
برگه تقلب CSS
دسترسی به تمام استایل های CSS همراه با مثال بصورت یکجا
خلاصه شده در 30 اسلاید (30 روز)
@webehsan
دسترسی به تمام استایل های CSS همراه با مثال بصورت یکجا
خلاصه شده در 30 اسلاید (30 روز)
۶۵۶
۱۶:۱۶
برگ تقلب متدهای آرایه در جاوااسکریپت (سری دوم)
🟢 متدهای Non-Mutating؛ وقتی نمیخوای آرایه اصلی خراب بشه!
تفاوت اصلی این دسته با Mutating اینه که آرایه اصلی رو دست نمیزنن؛ بلکه یه آرایه جدید برات میسازن.
برای همین توی پروژههای React و به طور کلی برنامهنویسی مدرن، این متدها خیلی محبوبترن؛ چون باعث میشن دادهها قابل پیشبینی بمونن و از باگهای ناخواسته جلوگیری بشه.
مثلاً map()، filter() یا slice() همیشه یه آرایه جدید برمیگردونن و آرایه اولیه همونطور که هست باقی میمونه.
خلاصه:
Mutating = تغییر آرایه اصلی🟢 Non-Mutating = ساخت آرایه جدید
در پست بعدی با متدهای Value / Result آشنا میشیم؛ متدهایی که فقط یک نتیجه برمیگردونن و برای جستجو، بررسی شرط و محاسبات خیلی کاربردی هستن.
@webehsan
🟢 متدهای Non-Mutating؛ وقتی نمیخوای آرایه اصلی خراب بشه!
تفاوت اصلی این دسته با Mutating اینه که آرایه اصلی رو دست نمیزنن؛ بلکه یه آرایه جدید برات میسازن.
برای همین توی پروژههای React و به طور کلی برنامهنویسی مدرن، این متدها خیلی محبوبترن؛ چون باعث میشن دادهها قابل پیشبینی بمونن و از باگهای ناخواسته جلوگیری بشه.
مثلاً map()، filter() یا slice() همیشه یه آرایه جدید برمیگردونن و آرایه اولیه همونطور که هست باقی میمونه.
۴۹۶
۸:۳۸
برگ تقلب متدهای آرایه در جاوااسکریپت (سری سوم)
متدهای Value / Result؛ وقتی فقط نتیجه میخوای، نه تغییر آرایه!
این دسته نه آرایه رو تغییر میدن و نه معمولاً آرایه جدید میسازن؛ فقط یه نتیجه برمیگردونن.
این نتیجه میتونه:یه عدد باشه (indexOf())یه مقدار بولین (includes() یا some())یه عنصر (find())یه رشته (join())یا حتی یه مقدار نهایی مثل جمع عناصر (reduce())پس هر وقت هدفت اینه که فقط از آرایه اطلاعات بگیری یا یه خروجی محاسبه کنی، این دسته بهترین انتخابه.
یه راه ساده برای حفظ کردن:
Mutating → آرایه رو تغییر میده.🟢 Non-Mutating → آرایه جدید میسازه.
Value / Result → فقط یه نتیجه برمیگردونه.
️@webehsan
این دسته نه آرایه رو تغییر میدن و نه معمولاً آرایه جدید میسازن؛ فقط یه نتیجه برمیگردونن.
این نتیجه میتونه:یه عدد باشه (indexOf())یه مقدار بولین (includes() یا some())یه عنصر (find())یه رشته (join())یا حتی یه مقدار نهایی مثل جمع عناصر (reduce())پس هر وقت هدفت اینه که فقط از آرایه اطلاعات بگیری یا یه خروجی محاسبه کنی، این دسته بهترین انتخابه.
۷۳۳
۸:۴۲
بازارسال شده از آکادمی برنامه نویسی وب احسان | WebEhsan
در حال حاضر نمایش این پیام پشتیبانی نمیشود.
۴۵۳
۹:۱۹
#reactjs این یکی از تمرین های دوره React هست که یکی از بچه ها فرستاده بود و پرسیده بود چرا کد بهش خطا میده.
جواب :وقتی دارید React کار میکنید و به خطا میخورید (خطا داخل ری اکت ممکنه صفحه سفید بشه) پیشنهاد میکنم اول همه کنسول مرورگر چک کنید و اخرین خطایی که نوشته شده (پیام قرمز رنگ) بخونید و اگر حتی خودتونم متوجه متن خطا نشدید بدید به چت جی پی تی و ازش بخواید توضیح بده.
اما در مورد اشکال کد بالا در تعریف state ما محدودیتی نداریم که اسم استیت با حروف کوچک و یا بزرگ تعریف بشود. هرچند پیشنهاد میشه از حروف کوچک برای اسم استیت و بصورت camelCase برای ست استیت استفاده کنید. مثال : const [count, setCount] = useState(0)
و در نهایت به هرشکلی تعریف کردید به همون شکل هم داخل کامپوننت استفاده کنید.
در عکس بالا Count با C بزرگ تعریف شده ولی ما بقی جاها با c کوچک و بصورت count صدا زده شده.
پیشنهاد کلی برای تعریف اسم استیت و توابع در Reavt بصورت camelCase مثال :setStatesetCounthandleClickgetUserData
و بصورت PascalCase برای نام کامپوننت ها :Task6UserProfileLoginForm
@webehsan
جواب :وقتی دارید React کار میکنید و به خطا میخورید (خطا داخل ری اکت ممکنه صفحه سفید بشه) پیشنهاد میکنم اول همه کنسول مرورگر چک کنید و اخرین خطایی که نوشته شده (پیام قرمز رنگ) بخونید و اگر حتی خودتونم متوجه متن خطا نشدید بدید به چت جی پی تی و ازش بخواید توضیح بده.
اما در مورد اشکال کد بالا در تعریف state ما محدودیتی نداریم که اسم استیت با حروف کوچک و یا بزرگ تعریف بشود. هرچند پیشنهاد میشه از حروف کوچک برای اسم استیت و بصورت camelCase برای ست استیت استفاده کنید. مثال : const [count, setCount] = useState(0)
و در نهایت به هرشکلی تعریف کردید به همون شکل هم داخل کامپوننت استفاده کنید.
در عکس بالا Count با C بزرگ تعریف شده ولی ما بقی جاها با c کوچک و بصورت count صدا زده شده.
پیشنهاد کلی برای تعریف اسم استیت و توابع در Reavt بصورت camelCase مثال :setStatesetCounthandleClickgetUserData
و بصورت PascalCase برای نام کامپوننت ها :Task6UserProfileLoginForm
@webehsan
۴۸۹
۱۱:۲۹
اقا یه وب سایت باحال پیدا کردم که خیلی تمیز کامپوننت های مختلف جمع آوری کرده.
خوبیش چیه؟؟
مثلا اسلایدر تصاویر نیاز داری , میری داخل این وب سایت روی اسلایدر کلیک میکنی بعد اون خودش یه عالمه وب سایت دیگه که سورس کد اسلایدر میدن را داخل یک صفحه بهت معرفی کرده.
دیگه نیاز نیست برای یک کامپوننت تموم سایت ها را زیر و رو کنی , این سایت قبلا زیر و رو کرده و نتیجشو بهت میده
آدرس :https://component.gallery
خوبیش چیه؟؟
مثلا اسلایدر تصاویر نیاز داری , میری داخل این وب سایت روی اسلایدر کلیک میکنی بعد اون خودش یه عالمه وب سایت دیگه که سورس کد اسلایدر میدن را داخل یک صفحه بهت معرفی کرده.
دیگه نیاز نیست برای یک کامپوننت تموم سایت ها را زیر و رو کنی , این سایت قبلا زیر و رو کرده و نتیجشو بهت میده
آدرس :https://component.gallery
۵۹۶
۱۱:۳۵
اقا یه موضوعی بهتون بگم
برای خیلی ها ناخوشاینده ولی تو دنیای فریلنسری ، در دسترس بودن ، در کمترین زمان ، برای کارفرما خیلی مهمه
یعنی کارفرما ازت یه سوالی ، باگی یا فیچری در مورد پروژش داره ، نمیگم همون موقع حلش کنید ولی در کمترین زمان ممکن حداقل سین بزنید و پاسخ بدید بگید فلان موقع اوکی میکنم
حالا یکسری گارد میگیرن نسبت به این حرفام ، ولی اینکه پروژه ، پروژه میاره ، رو هوا اتفاق نمیوفته.
باید یکسری آپشن ها داشته باشی تا پروژه بعدیش بیاد
برای خیلی ها ناخوشاینده ولی تو دنیای فریلنسری ، در دسترس بودن ، در کمترین زمان ، برای کارفرما خیلی مهمه
یعنی کارفرما ازت یه سوالی ، باگی یا فیچری در مورد پروژش داره ، نمیگم همون موقع حلش کنید ولی در کمترین زمان ممکن حداقل سین بزنید و پاسخ بدید بگید فلان موقع اوکی میکنم
حالا یکسری گارد میگیرن نسبت به این حرفام ، ولی اینکه پروژه ، پروژه میاره ، رو هوا اتفاق نمیوفته.
باید یکسری آپشن ها داشته باشی تا پروژه بعدیش بیاد
۴۵۲
۲۱:۲۷
یکاری کن
چیزایی که یادمیگری یا کارای که انجام میدی و از نظرت خفنه را با بقیه اشتراک بذار
نگو این کار چند ساله خیلیا انجام میدنیا نگو این کار خیلیا بهترشو انجام دادن
همون سطح فعلی خودتو به اشتراک بذار (تولینکدین ، اینستا یا هرجای دیگ)
چه ادمای خفنی هستن که بهم پیام میدن و نمونه کارهاشون میبینم ولی چون اعتماد بنفس نداشتن یا دلشون نمیخواسته ، خودشون سانسور کردن و هیچ وقت کشف نشدن.
یه پنبه بذار تو گوشت و چیزی که حس میکنی توش خوبی را به اشتراک بذار
بذار بقیه ببیننتتا دیده نشی ، پولم خبری نیست
شب اونایی که برای دیده شدنشون تلاش میکنند بخیر
چیزایی که یادمیگری یا کارای که انجام میدی و از نظرت خفنه را با بقیه اشتراک بذار
نگو این کار چند ساله خیلیا انجام میدنیا نگو این کار خیلیا بهترشو انجام دادن
همون سطح فعلی خودتو به اشتراک بذار (تولینکدین ، اینستا یا هرجای دیگ)
چه ادمای خفنی هستن که بهم پیام میدن و نمونه کارهاشون میبینم ولی چون اعتماد بنفس نداشتن یا دلشون نمیخواسته ، خودشون سانسور کردن و هیچ وقت کشف نشدن.
یه پنبه بذار تو گوشت و چیزی که حس میکنی توش خوبی را به اشتراک بذار
بذار بقیه ببیننتتا دیده نشی ، پولم خبری نیست
شب اونایی که برای دیده شدنشون تلاش میکنند بخیر
۲۴۱
۱۳:۱۴