ProGraphs
817 subscribers
216 photos
6 videos
11 files
377 links
مجموعه مطالبی از برنامه‌نویسی وب و گرافیک

ProGraphs = Programming + Graphics
Download Telegram
🔺تصاویر و طرح‌های این سبکی رو از لینک زیر دانلود کنید. 😎

https://icons8.com/ouch

#link #vector #illustration

@ProGraphs
​​در مطالب قبلی با مفهوم Property Descriptor آشنا شدیم و فهمیدیم که مجموعه‌ای از ویژگی‌های یک پراپرتی هستند که رفتار آن پراپرتی را تعیین می‌کنند.

در این مطلب یکی از این ویژگی‌ها به نام writable را بررسی می‌کنیم.

اگر مقدار ویژگی writable برای یک پراپرتی false باشد، مقدار آن پراپرتی غیر قابل تغییر خواهد بود. یعنی اگر در حالت strict-mode سعی کنیم مقدار پراپرتی را تغییر دهیم با خطا مواجه می‌شویم. در حالت معمولی هم مقدار پراپرتی تغییر نخواهد کرد اما خطایی هم دریافت نمی‌کنیم.

به این ترتیب می‌توانیم پراپرتی‌هایی با مقادیر constant بسازیم (به کد داخل تصویر دقت کنید).

#quicktip #js

@ProGraphs
آیا شما function expressionها را نام گذاری می‌کنید؟
این کار چه فایده‌ای می‌تواند داشته باشد؟

#interviewquestion #js

@ProGraphs
🔺 ایمیل موقت ده دقیقه‌ای 🔟

🔸 به درد سایت‌هایی می‌خوره که شاید فقط یه بار بخواین ازشون استفاده کنین ولی مجبورین توشون ثبت‌نام کنین.

https://10minutemail.com/

#link #email

@ProGraphs
🔺کد زدن با JS را در اپلیکیشن زیر، رایگان یاد بگیرید.👨🏻‍💻👩🏻‍💻

https://grasshopper.codes/

#link #app #application #learn #js

@ProGraphs
ProGraphs
آیا شما function expressionها را نام گذاری می‌کنید؟ این کار چه فایده‌ای می‌تواند داشته باشد؟ #interviewquestion #js @ProGraphs
جواب:

نام گذاری function expressionها 2 فایده مهم می‌تواند داشته باشد:

1- زمانی که برای یک FE نام انتخاب می‌کنیم، این نام داخل خود تابع قابل استفاده است (و به صورت گلوبال تعریف نمی‌شود).
به این ترتیب داخل تابع می‌توانیم به خود آن دسترسی داشته باشیم و این موضوع می‌تواند برای recursion و ... مفید باشد.

2- زمانی که یک کد را در حالت debug در مرورگر اجرا می‌کنیم، نام تابع در حال اجرا در قسمت call stack قابل مشاهده است. اما برای توابع بدون نام، نام تابع به عنوان anonymous نوشته می‌شود. و این موضوع می‌تواند دیباگ کردن کد‌های پیچیده را سخت‌تر کند.
🔺با لینک زیر به راحتی موکاپ موبایل بسازید. 📱

https://www.kapwing.com/mobile-mockup

#link #mockup

@ProGraphs
This media is not supported in your browser
VIEW IN TELEGRAM
با استفاده از live expression ها در گوگل کروم،‌می‌توانیم مقدار هر expression جاوااسکریپت و تغییرات آن را ببینیم!

#quicktip #devtools #js

@ProGraphs
با اجرای این کد چه مقداری در کنسول چاپ می‌شود؟

#interviewquestion #js

@ProGraphs
ProGraphs
با اجرای این کد چه مقداری در کنسول چاپ می‌شود؟ #interviewquestion #js @ProGraphs
جواب: true

می‌دانیم که در جاوااسکریپت نمی‌توانیم برای نام متغیرها از reserved wordها مانند class, null, ... استفاده کنیم.

اما متاسفانه undefined یک کلمه‌ی رزرو شده نیست و فقط یک پراپرتی read-only در آبجکت global/window است. بنابراین در هر scope به جز scope گلوبال می‌توانیم یک متغیر به نام undefined با مقدار دلخواه تعریف کنیم!

در این کد داخل تابع دو متغیر به نام‌های undefined و proGraphs با مقدار یکسان تعریف می‌کنیم و به این ترتیب نتیجه‌ی شرط true می‌شود.

دقت کنید که اگر کد را داخل یک تابع نمی‌نوشتیم، با error مواجه می‌شدیم چرا که پراپرتی undefined در scope گلوبال غیر قابل تغییر است.
🔺یه منبع خوب برای الهام گرفتن در طراحی وب به همراه قطعه کد هر اِلِمان

https://codemyui.com/

#link #ui #design #inspiration #codesnippet

@ProGraphs
🔺با این سایت پالت رنگی مورد نظرتون رو راحت‌تر انتخاب کنید.👌🏻

https://culrs.com/

#link #color #palette

@ProGraphs
​​در ادامه‌ی مطالب Property Descriptor، ویژگی enumerable را بررسی می‌کنیم:

همانطور که از نام این ویژگی پیداست، با استفاده از این ویژگی می‌توانیم کنترل کنیم که یک پراپرتی در loopهایی که پراپرتی‌های یک آبجکت را پیمایش می‌کنند (مانند for..in) ظاهر شود یا نه.

همچنین متد JSON.stringify، فقط پراپرتی‌های enumerable را به JSON تبدیل می‌کند و بقیه را نادیده می‌گیرد (به کد داخل تصویر دقت کنید).

#quicktip #js

@ProGraphs
تفاوت این دو روش برای پیمایش پراپرتی‌های یک آبجکت در چیست؟

#interviewquestion #js

@ProGraphs