ProGraphs
جواب: 4 در مطالب قبلی pass by reference/value را بررسی کردیم و دیدیم که در جاوااسکریپت، آبجکتها با reference به تابع پاس داده میشوند و مقادیر primitive، با value. اما wrapper objectها چطور؟ آیا با استفاده از wrapper objectها میتوانیم کاری کنیم که مقادیر…
این سوال خیلی نکته جدیدی نداشت و بیشتر ترکیبی بود از دو مفهوم خیلی مهم reference/value و wrapper objectها.
که البته این دو مفهوم رو قبلا با هم بررسی کردیم:
1- pass by reference/value:
https://t.me/ProGraphs/315
2- wrapper objects:
https://t.me/ProGraphs/376
https://t.me/ProGraphs/229
که البته این دو مفهوم رو قبلا با هم بررسی کردیم:
1- pass by reference/value:
https://t.me/ProGraphs/315
2- wrapper objects:
https://t.me/ProGraphs/376
https://t.me/ProGraphs/229
Telegram
ProGraphs
جواب: [4, 3, 2, 1]
این سوال به موضوع خیلی مهم کپی کردن value و reference مربوط است. بنابراین قبل از پاسخ به سوال، این موضوع را بررسی میکنیم:
این کد را در نظر بگیرید:
var a = 1;
var b = a;
b = 2;
console.log(a); // 1
همانطور که میبینید فقط مقدار متغیر…
این سوال به موضوع خیلی مهم کپی کردن value و reference مربوط است. بنابراین قبل از پاسخ به سوال، این موضوع را بررسی میکنیم:
این کد را در نظر بگیرید:
var a = 1;
var b = a;
b = 2;
console.log(a); // 1
همانطور که میبینید فقط مقدار متغیر…
🔺رزومه خود را با resume builder سایت Canva بسازید. 👌🏻
https://www.canva.com/templates/resumes/
#link #resume #template
@ProGraphs
https://www.canva.com/templates/resumes/
#link #resume #template
@ProGraphs
در مطالب قبلی دیدیم که متدهای آرایهها (مثل map و ...) در جاوااسکریپت، داخل آبجکتی به نام Array.prototype تعریف شدهاند.
بنابراین به راحتی میتوانیم از بعضی از این توابع، برای کار با نوع دادههای دیگر مثل stringها استفاده کنیم! (به کد داخل تصویر دقت کنید)
#quicktip #js
@ProGraphs
بنابراین به راحتی میتوانیم از بعضی از این توابع، برای کار با نوع دادههای دیگر مثل stringها استفاده کنیم! (به کد داخل تصویر دقت کنید)
#quicktip #js
@ProGraphs
A Visual Studio Code extension that discourages you while you work 😈
https://github.com/sepehr500/vscode-discourage
#link #vscode #plugin #fun
@ProGraphs
https://github.com/sepehr500/vscode-discourage
#link #vscode #plugin #fun
@ProGraphs
GitHub
GitHub - sepehr500/vscode-discourage: VS Code extension that offers some healthy discouragement while you code
VS Code extension that offers some healthy discouragement while you code - GitHub - sepehr500/vscode-discourage: VS Code extension that offers some healthy discouragement while you code
آموزشهای مفید و ساده برای تکنولوژیها و ابزارهای حوزهی وب 👌
https://www.youtube.com/channel/UCW5YeuERMmlnqo4oq8vwUpg
#link #tutorial #youtube
@ProGraphs
https://www.youtube.com/channel/UCW5YeuERMmlnqo4oq8vwUpg
#link #tutorial #youtube
@ProGraphs
YouTube
Net Ninja
Black-belt your web development skills. Over 2000 free programming tutorial videos about:
- Modern JavaScript (beginner to advanced)
- Node.js
- React
- Vue.js
- Firebase
- MongoDB
- HTML & CSS
- PHP & MySQL
- Laravel
- React Native
- Flutter
- Open AI
…
- Modern JavaScript (beginner to advanced)
- Node.js
- React
- Vue.js
- Firebase
- MongoDB
- HTML & CSS
- PHP & MySQL
- Laravel
- React Native
- Flutter
- Open AI
…
🔺Dukto
- ابزاری برای انتقال فایلها بین کامپیوتر و گوشی
- انتقال فایلها بین لینوکس، مک و ویندوز
- جایگزینی برای SHAREit
https://sourceforge.net/projects/dukto/
#tool #filetransfer
@ProGraphs
- ابزاری برای انتقال فایلها بین کامپیوتر و گوشی
- انتقال فایلها بین لینوکس، مک و ویندوز
- جایگزینی برای SHAREit
https://sourceforge.net/projects/dukto/
#tool #filetransfer
@ProGraphs
ProGraphs
با اجرای این کد چه مقداری در کنسول چاپ میشود؟ #interviewquestion #js @ProGraphs
جواب: 2
یکی از عملگرهای کمتر شناخته شده در جاوااسکریپت، عملگر "," (یا comma operator) است.
❗️وقتی این عملگر را بر روی چند expression اعمال میکنیم، همهی expressionها را اجرا میکند و مقدار آخرین expression را return میکند:
(x = 1, y = 2, x += y, 10) // 10
در این کد همهی expressionها از چپ به راست اجرا میشوند (به مطلبی که راجع به Associativity منتشر کردیم مراجعه کنید) و در نهایت مقدار 10، return میشود.
حالا به کد سوال دقت کنید:
در خط 4، ابتدا عبارت ++x اجرا میشود و مقدار متغیر x به 2 تغییر میکند. سپس مقدار متغیر x از تابع return میشود.
به این ترتیب عدد 2 در کنسول چاپ میشود!
❗️اما این عملگر در عمل (!) چه کاربردی دارد؟
بیشترین کاربرد این عملگر زمانی است که میخواهیم چندین expression را در جایگاه یک expression استفاده کنیم.
- این کد را در نظر بگیرید:
for (let i = 0; i < 10; i++, j++) {}
در قسمت سوم حلقه فقط مجاز به استفاده از یک expression هستیم. اما با استفاده از عملگر ","، مقدار دو متغیر را تغییر دادیم.
یکی از عملگرهای کمتر شناخته شده در جاوااسکریپت، عملگر "," (یا comma operator) است.
❗️وقتی این عملگر را بر روی چند expression اعمال میکنیم، همهی expressionها را اجرا میکند و مقدار آخرین expression را return میکند:
(x = 1, y = 2, x += y, 10) // 10
در این کد همهی expressionها از چپ به راست اجرا میشوند (به مطلبی که راجع به Associativity منتشر کردیم مراجعه کنید) و در نهایت مقدار 10، return میشود.
حالا به کد سوال دقت کنید:
در خط 4، ابتدا عبارت ++x اجرا میشود و مقدار متغیر x به 2 تغییر میکند. سپس مقدار متغیر x از تابع return میشود.
به این ترتیب عدد 2 در کنسول چاپ میشود!
❗️اما این عملگر در عمل (!) چه کاربردی دارد؟
بیشترین کاربرد این عملگر زمانی است که میخواهیم چندین expression را در جایگاه یک expression استفاده کنیم.
- این کد را در نظر بگیرید:
for (let i = 0; i < 10; i++, j++) {}
در قسمت سوم حلقه فقط مجاز به استفاده از یک expression هستیم. اما با استفاده از عملگر ","، مقدار دو متغیر را تغییر دادیم.
ProGraphs
جواب: 2 یکی از عملگرهای کمتر شناخته شده در جاوااسکریپت، عملگر "," (یا comma operator) است. ❗️وقتی این عملگر را بر روی چند expression اعمال میکنیم، همهی expressionها را اجرا میکند و مقدار آخرین expression را return میکند: (x = 1, y = 2, x += y, 10)…
یه نمونه کاربرد دیگه از comma operator که ابزارهای minifier میتونن استفاده کنند.
🔺 موزه طراحی وب ✨
- عکس بالا از سایت توییتر در سال 2007 میلادی است.
https://www.webdesignmuseum.org/
#link #web #design #webdesign
@ProGraphs
- عکس بالا از سایت توییتر در سال 2007 میلادی است.
https://www.webdesignmuseum.org/
#link #web #design #webdesign
@ProGraphs
با استفاده از تب Code Coverage در گوگل کروم میتوانیم بررسی کنیم که چند درصد و چه قسمتهایی از کدها در یک صفحه اجرا میشوند و چه قسمتهایی اجرا نمیشوند.
همچنین از نسخهی 73 که به زودی منتشر خواهد شد، امکان ذخیرهی نتایج Code Coverage در یک فایل json اضافه میشود. (به این ترتیب میتوانیم اطلاعات ذخیره شده را به عنوان ورودی برای ابزارهایی که کد را modify میکنند استفاده کنیم)
#quicktip #devtools
@ProGraphs
همچنین از نسخهی 73 که به زودی منتشر خواهد شد، امکان ذخیرهی نتایج Code Coverage در یک فایل json اضافه میشود. (به این ترتیب میتوانیم اطلاعات ذخیره شده را به عنوان ورودی برای ابزارهایی که کد را modify میکنند استفاده کنیم)
#quicktip #devtools
@ProGraphs
یه مجموعه پادکست جالب با موضوع جاوااسکریپت 👌
https://devchat.tv/js-jabber/
#link #podcast #js
@ProGraphs
https://devchat.tv/js-jabber/
#link #podcast #js
@ProGraphs
ProGraphs
با اجرای این کد چه مقداری در کنسول چاپ میشود؟ #interviewquestion #js @ProGraphs
جواب: Error
در مطالب قبلی دیدیم که میتوانیم از بعضی متدهای آرایهها، برای کار با stringها استفاده کنیم.
❗️اما چرا فقط "بعضی" از متدهای آرایهها؟
با بررسی دقیقتر متدهای آرایهها متوجه میشویم که این متدها به دو دسته تقسیم میشوند:
1- متدهایی که خود آرایه را تغییر میدهند:
بنابراین فقط متدهای دسته دوم برای کار با stringها قابل استفاده هستند.
حالا دوباره به کد سوال دقت کنید:
در خط 3، یک string را به متد reverse پاس میدهیم. سپس متد reverse سعی میکند مقدار خود string را تغییر دهد! در حالی که stringها immutable و غیرقابل تغییر هستند.
بنابراین قبل از اینکه به خط 5 برسیم، Error دریافت میکنیم!
در مطالب قبلی دیدیم که میتوانیم از بعضی متدهای آرایهها، برای کار با stringها استفاده کنیم.
❗️اما چرا فقط "بعضی" از متدهای آرایهها؟
با بررسی دقیقتر متدهای آرایهها متوجه میشویم که این متدها به دو دسته تقسیم میشوند:
1- متدهایی که خود آرایه را تغییر میدهند:
[].push(1); // modifies the existing array
2 - متدهایی که یک آرایه جدید برمیگردانند:[].reverse(); // returns a new array
❗️از طرفی، stringها (و همهی نوع دادههای primitive) در جاوااسکریپت immutable هستند. یعنی بعد از ساخته شدن یک string، مقدار آن غیر قابل تغییر است (برعکس آبجکتها).بنابراین فقط متدهای دسته دوم برای کار با stringها قابل استفاده هستند.
حالا دوباره به کد سوال دقت کنید:
در خط 3، یک string را به متد reverse پاس میدهیم. سپس متد reverse سعی میکند مقدار خود string را تغییر دهد! در حالی که stringها immutable و غیرقابل تغییر هستند.
بنابراین قبل از اینکه به خط 5 برسیم، Error دریافت میکنیم!
ProGraphs
جواب: Error در مطالب قبلی دیدیم که میتوانیم از بعضی متدهای آرایهها، برای کار با stringها استفاده کنیم. ❗️اما چرا فقط "بعضی" از متدهای آرایهها؟ با بررسی دقیقتر متدهای آرایهها متوجه میشویم که این متدها به دو دسته تقسیم میشوند: 1- متدهایی که خود آرایه…
دو تا مقابله خوب برای مطالعه بیشتر راجع به Immutability:
https://www.sitepoint.com/immutability-javascript/
https://itnext.io/immutable-vs-immutable-js-d524bf515bcd
https://www.sitepoint.com/immutability-javascript/
https://itnext.io/immutable-vs-immutable-js-d524bf515bcd
Sitepoint
Immutability in JavaScript — SitePoint
Christian Johansen covers what immutability is, how to use immutability in JavaScript, and why it's useful.
در یکی از مطالب قدیمیتر تفاوت پراپرتیهای transform و left/right را برای ایجاد انیمیشن در CSS بررسی کردیم. و دیدیم که مرورگر برای render کردن تغییرات در صفحه، چند مرحله (style - layout - paint - composite) را طی میکند.
اما در بعضی شرایط، تغییر ظاهر یک عنصر، بر روی سایر عناصر هم تاثیر میگذارد و مرورگر را مجبور به انجام محاسبات اضافه برای سایر عناصر میکند.
با استفاده از پراپرتی جدید contain در CSS میتوانیم عملیات style و layout و paint را فقط به یک بخش از صفحه محدود کنیم.
https://developers.google.com/web/updates/2016/06/css-containment
#quicktip #css #performance
@ProGraphs
اما در بعضی شرایط، تغییر ظاهر یک عنصر، بر روی سایر عناصر هم تاثیر میگذارد و مرورگر را مجبور به انجام محاسبات اضافه برای سایر عناصر میکند.
با استفاده از پراپرتی جدید contain در CSS میتوانیم عملیات style و layout و paint را فقط به یک بخش از صفحه محدود کنیم.
https://developers.google.com/web/updates/2016/06/css-containment
#quicktip #css #performance
@ProGraphs
منظور از "callback hell" در جاوااسکریپت چیست؟ چه زمانی این اتفاق میافتد؟ راه حل این مشکل چیست؟
#interviewquestion #js
@ProGraphs
#interviewquestion #js
@ProGraphs