👍2
بهبود خوانایی کد
Indent Rainbow یک پلاگین VSCode است که علامت های رنگی را به هر سطح تورفتگی در کد شما اضافه می کند و خوانایی را بهبود می بخشد. به لطف این افزونه، می توانید به راحتی تودرتویي موجود در بلوک های کد را ردیابی کنید و روند توسعه را راحت تر و کارآمدتر کنید.
#️⃣#tool
🆔@IR_javascript
Indent Rainbow یک پلاگین VSCode است که علامت های رنگی را به هر سطح تورفتگی در کد شما اضافه می کند و خوانایی را بهبود می بخشد. به لطف این افزونه، می توانید به راحتی تودرتویي موجود در بلوک های کد را ردیابی کنید و روند توسعه را راحت تر و کارآمدتر کنید.
#️⃣#tool
🆔@IR_javascript
❤1
متد toSorted() مانند متد sort() است، اما بر خلاف آن، آرایه اصلی را تغییر نمی دهد، اما یک آرایه مرتب شده جدید را برمی گرداند. تمام عناصر تعریف نشده در انتهای آرایه مرتب شده اند. بیایید آرایه را با اعداد مرتب کنیم:
آرایه برگردانده شده یک کپی کم عمق است اگر به عنوان مثال المان هاي آن آرايه آبجكت باشد اگر آن آبجكت تغییر كند، تغییرات در آرایه اصلی و آرايه ايجاد شده با متد toSorted() اعمال ميشود.
#️⃣#tip
🆔@IR_javascript
const numbers = [43, 6, 35, 1, 9, 7, 5, 75, 16];
const sortedNumbers = numbers.toSorted((a, b) => a - b);
console.log(numbers);
// [43, 6, 35, 1, 9, 7, 5, 75, 16];
console.log(sortedNumbers);
// [1, 5, 6, 7, 9, 16, 35, 43, 75]
آرایه برگردانده شده یک کپی کم عمق است اگر به عنوان مثال المان هاي آن آرايه آبجكت باشد اگر آن آبجكت تغییر كند، تغییرات در آرایه اصلی و آرايه ايجاد شده با متد toSorted() اعمال ميشود.
const obj = {name: 'Scarlett'};
const names = [
obj,
'Albert',
undefined,
'',
];
const sortedNames = names.toSorted();
console.log(sortedNames);
// ['', 'Albert', { name: 'Scarlett' }, undefined]
obj.name = 'Dan';
console.log(sortedNames)
// ['', 'Albert', { name: 'Dan' }, undefined]
#️⃣#tip
🆔@IR_javascript
❤2👍1
از حدس زدن ارتفاع خط به طوری که متن دقیقاً به اندازه یک حرف Capital شود خسته شده اید؟ خسته نباشید!
🔗https://caniuse.com/?search=cap%20unit
#️⃣#tip #css
🆔@IR_javascript
line-height: 1cap;
🔗https://caniuse.com/?search=cap%20unit
#️⃣#tip #css
🆔@IR_javascript
در این سایت فونت برای هر سلیقه و سبکی پیدا خواهید کرد. و 17 هزار صفحه نشان دهنده اندازه چشمگیر این مجموعه است.
🔗https://fonts.do/
#️⃣#tool
🆔@IR_javascript
🔗https://fonts.do/
#️⃣#tool
🆔@IR_javascript
Cally: Small, Feature-Rich Calendar Components
تقویمی کوچک و کم حجم اما پر امکانات که از جمله ویژگی های آن
اندازهی کوچک بسته- کمتر از 9 کیلوبایت در حالت فشرده/فشرده شده با gzip
مجموعه امکانات کامل - تاریخهای تکی، دامنهای، نمایش چند ماه
وابستگیهای کم - تنها یکی
قابل دسترسی - کیبورد و صفحه خوان
قابلیت تغییرزبان - Intl.DateTimeFormat ، خواص CSS ، پشتیبانی از RTL
قابل تغییر قالب - اجزاء CSS و ویژگیهای سفارشی
🔗 https://wicky.nillia.ms/cally/
#️⃣#npm_module
🆔@IR_javascript
تقویمی کوچک و کم حجم اما پر امکانات که از جمله ویژگی های آن
اندازهی کوچک بسته- کمتر از 9 کیلوبایت در حالت فشرده/فشرده شده با gzip
مجموعه امکانات کامل - تاریخهای تکی، دامنهای، نمایش چند ماه
وابستگیهای کم - تنها یکی
قابل دسترسی - کیبورد و صفحه خوان
قابلیت تغییرزبان - Intl.DateTimeFormat ، خواص CSS ، پشتیبانی از RTL
قابل تغییر قالب - اجزاء CSS و ویژگیهای سفارشی
<calendar-range
value="2024-01-10/2024-01-20"
min="2024-01-01"
max="2024-12-31"
locale="fa-IR"
months="2"
first-day-of-week=-1
dir="rtl"
>
<calendar-month></calendar-month>
<calendar-month offset="1"></calendar-month>
</calendar-range>
🔗 https://wicky.nillia.ms/cally/
#️⃣#npm_module
🆔@IR_javascript
👍2❤1👎1
target vs currentTarget in js
به طور کلی:
target عنصری است که کاربر روی آن کلیک کرده است
CurrentTarget عنصری است که listener به آن اختصاص داده شده است.
مثال:
وقتی روی دکمه کلیک شود خروجی مطابق زیر است:
#️⃣#tip
🆔@IR_javascript
به طور کلی:
target عنصری است که کاربر روی آن کلیک کرده است
CurrentTarget عنصری است که listener به آن اختصاص داده شده است.
مثال:
<div id="outer">
Outer div
<button id="inner">Inner Button</button>
</div>
const outer = document.getElementById('outer');
outer.addEventListener('click', function (event) {
console.log('event.target:', event.target.id);
console.log('event.currentTarget:', event.currentTarget.id);
});
وقتی روی دکمه کلیک شود خروجی مطابق زیر است:
event.target: inner
event.currentTarget: outer
#️⃣#tip
🆔@IR_javascript
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Quokka.js یک ابزاربرای افزایش بهره وری در حین توسعه است وکمک می کند همانطور که شما تایپ می کنید مقادیری که متغیر ها گرفته اند را نیز مشاهده کنید.
#️⃣#tool
🆔@IR_javascript
#️⃣#tool
🆔@IR_javascript
👍2
Bruno یک سرویس تست API منبع باز است، جایگزینی برای ابزارهایی مانند Postman یا Insomnia که فقط آفلاین کار می کند.
🔗https://github.com/usebruno/bruno
#️⃣#tool
🆔@IR_javascript
🔗https://github.com/usebruno/bruno
#️⃣#tool
🆔@IR_javascript
This media is not supported in your browser
VIEW IN TELEGRAM
کار با Resize Observer برای ردیابی تغییرات اندازه عنصر
Resize Observer به شما این امکان را می دهد که تغییرات اندازه عناصر را کنترل کنید و به آنها در کد خود واکنش نشان دهید.
#️⃣#tip
🆔@IR_javascript
Resize Observer به شما این امکان را می دهد که تغییرات اندازه عناصر را کنترل کنید و به آنها در کد خود واکنش نشان دهید.
const resizeObserver = new ResizeObserver(entries => {
for (const entry of entries) {
console.log('ابعاد عنصر تغییر کرده است:',entry.target);
}
});
const resizableElement = document.getElementById('resizable');
resize0bserver.observe(resizableElement);
#️⃣#tip
🆔@IR_javascript
👍1