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

ProGraphs = Programming + Graphics
Download Telegram
آیا شما 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
🔺 یه سایت خوب دیگه برای درست کردن موکاپ 🎉

https://magicmockups.com/

#link #mockup #generator

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

متد Object.keys فقط پراپرتی‌هایی از آبجکت را برمی‌گرداند که ویژگی enumerable آن‌ها true باشد (به مطالبی که راجع به Property Descriptor منتشر کردیم مراجعه کنید)

اما متد Object.getOwnPropertyNames تمام پراپرتی‌های یک آبجکت را بدون توجه به enumerable بودن آن‌ها برمی‌گرداند.

در بیشتر موارد از روش اول یعنی Object.keys استفاده می‌شود و روش دوم فقط در شرایط خاص کاربرد دارد. چرا که وقتی یک پراپرتی را به صورت non-enumerable تعریف می‌کنیم. طبیعتا نمی‌خواهیم در حلقه‌ها ظاهر شود!
🔺ابزاری برای ساخت عکس از source code خود در قالبی زیبا

https://carbon.now.sh/

#link #sourcecode

@ProGraphs