جاوااسکریپت | JavaScript
511 subscribers
654 photos
140 videos
3 files
512 links
کانال @IR_javascript حاوی اطلاعات مفید در حوزه برنامه نویس فرانت که بصورت روزانه بروز می‌شود.
در این کانال شما به:
[1] مطالب تازه
[2] تحلیل‌های عمیق
[3] نکات آموزشی
[4] چالش
[5] ابزار و راهنمایی‌های کاربردی
دسترسی خواهید داشت.

🆔@IR_javascript
Download Telegram
Internationalization API

هنگام توسعه یک برنامه کاربردی، تطبیق محتوای آن با زبان های مختلف ضروری است. ترجمه منظم به دلیل تفاوت در قالب تاریخ، اعداد، واحدهای اندازه گیری و سایر پارامترها، که ممکن است در کشورها و شهرهای مختلف متفاوت باشد، همیشه مناسب نیست . همچنین ترجمه نادرست این عناصر می تواند بر تجربه کاربر تأثیر منفی بگذارد.

🔗https://medium.com/free-code-camp/how-to-get-started-with-internationalization-in-javascript-c09a0d2cd834

#️⃣#tip
🆔@IR_javascript
‏"border" چه تفاوتی با "outline" دارد؟

هر دوی این ویژگی ها مسئول استایل دادن به عنصر هستند، اما تفاوت های زیادی با هم دارند:
1. ویژگی border بخشی از بلوک عنصر است. این بدان معنی است که تغییر ضخامت border بر اندازه خود عنصری که به آن تعلق دارد نیز تأثیر می گذارد. outline به نوبه خود به هیچ وجه بر مکان و اندازه عناصر در تأثیر نمی گذارد.

‏2. border یک ویژگی ترکیبی (تعمیم کننده) است، یعنی بصورت جداگانه برای هر یک از 4 طرف میتوان تنظیم کرد. outline را نمی توان به صورت جداگانه برای هر یک از 4 طرف تنظیم کرد.

3. تفاوت معنایی - border معمولاً برای ایجاد یک مرز قابل مشاهده روی یک عنصر استفاده می‌شود، در حالی که outline برای برجسته کردن یک عنصر استفاده می‌شود.


#️⃣#tip #css
🆔@IR_javascript
This media is not supported in your browser
VIEW IN TELEGRAM
تگ <dialog> در HTML برای ایجاد یک پنجره مودال

اگر مودال باز شود (با استفاده از showModal() )، پس زمینه کم نور می شود و بقیه محتوا برای تعامل در دسترس نیست.

HTML:

<dialog>
<!-- содержимое-->
<button id="closeBtn">Закрой меня</button>
</dialog>
<button id="openBtn">Открыть модалку</button>
CSS:
dialog {
width: 300px;
animation: move-in 0.3s;
/* другие стили */
}
dialog::backdrop {
background-color: #2e3252b3;
animation: fade-in 0.3s;
}
JS:
const dialog = document.querySelector('dialog');
const openBtn = document.querySelector('#openBtn');
const closeBtn = document.querySelector('#closeBtn');
openBtn.addEventListener('click', () => dialog.showModal());
closeBtn.addEventListener('click', () => dialog.close());




#️⃣#tip #html
🆔@IR_javascript
👍2
fetch-event-stream

ابزار کوچک (745b) برای مدیریت رویدادهای ارسال شده توسط سرور(SSE) از طریق API fetchو یا WebStreams

🔸 به شما امکان می دهد از WebWorker/ServiceWorker استفاده کنید
🔹 AbortController را برای رشته هایی که می توان لغو کرد می پذیرد


🔗 https://github.com/lukeed/fetch-event-stream

#️⃣#npm_module
🆔@IR_javascript
👍3👏1
آپاچی کوردوا یک پلتفرم متن باز است که برای ساخت برنامه‌های کاربردی موبایل با استفاده از اچ تی ام ال، سی اس اس و جاوا اسکریپت استفاده می‌شود. این پلتفرم به توسعه دهندگان امکان می‌دهد با استفاده از یک کد بیس واحد، برنامه‌هایی را برای چندین پلتفرم موبایل مانند اندروید، iOS و Windows Phone بسازند.


🔗 https://github.com/lukeed/fetch-event-stream

#️⃣#npm_module
🆔@IR_javascript
👍1
Dead Zone in JavaScript
در جاوا اسکریپت، Dead Zone به مرحله ای در طول اجرای کد شما اشاره دارد که در آن متغیری وجود دارد اما قابل دسترسی نیست.
که به دلیل hoisting متغیر رخ می دهد، مکانیزمی که در آن اعلان های متغیر به بالای محدوده خود منتقل می شوند، در حالی که تخصیص آنها در جای خود باقی می ماند.
console.log(myVar); // Output: ReferenceError: Cannot access 'myVar' before initialization

let myVar = 42;

متغیر var در طول مرحله بالا بردن با undefined مقداردهی اولیه می شود.
console.log(myVar); // Output: undefined

var myVar = 42;


چگونه مناطق مرده را مدیریت کنیم:
[1] اعلام متغیرها قبل از استفاده
‏[2] متغیرهای اعلام شده با let و const فقط در بلوکی که در آن تعریف شده اند قابل دسترسی هستند.
[3] در حالی که var معمولاً به مناطق مرده منتهی نمی شود تا آنجا که میشود از let و const استفاده کنید.
[4] از Linters کدنویسی استفاده کنید
🔗https://www.freecodecamp.org/news/what-is-dead-zone-in-javascript/#what-is-a-dead-zone

#️⃣#tip
🆔@IR_javascript
👍1
تگ <optgroup> در HTML در داخل تگ <select> برای گروه بندی آیتم های لیست انتخاب شده استفاده می شود. این به شما امکان می دهد برای راحتی کاربر زیر گروه ها یا دسته ها ایجاد کنید. در یک تگ <optgroup>، می توانید یک یا چند تگ <option> را قرار دهید که نشان دهنده موارد انتخابی فردی است.
<select>
<optgroup label="Fruits">
<option value="apple">Apple</option>
<option value="banana">Banana</option>
</optgroup>
<optgroup label="Vegetales">
<option value="carrot">Carrot</option>
<option value="potato" disabled>Potato</option>
</optgroup>
</select>

#️⃣#tip #html
🆔@IR_javascript
This media is not supported in your browser
VIEW IN TELEGRAM
Isotope
ایزوتوپ یک کتابخانه جاوا اسکریپت است که به شما امکان فیلتر و مرتب کردن عناصر DOM در یک صفحه را می دهد. می توان از آن با هر کتابخانه یا فریم ورک جاوا اسکریپت استفاده کرد.


🔗 https://github.com/metafizzy/isotope

#️⃣#npm_module
🆔@IR_javascript
‏Screen Wake Lock API برای جلوگیری از خاموش شدن صفحه نمایش دستگاه

وقتی ویدیویی را در یوتیوب تماشا می کنید، حتی پس از مدت طولانی عدم فعالیت، صفحه نمایش خاموش نمی شود. این به لطف Screen Wake Lock API امکان پذیر است
🔗https://developer.mozilla.org/en-US/docs/Web/API/WakeLock

#️⃣#tip
🆔@IR_javascript
👍1🔥1
‏UAParser.js - کتابخانه جاوا اسکریپت رایگان و منبع باز برای شناسایی مرورگر، موتور، سیستم عامل، CPU و نوع/مدل دستگاه کاربر. در مرورگر (سمت کلاینت) یا node.js (سمت سرور) اجرا می شود.

🔗 https://uaparser.js.org/

#️⃣#npm_module
🆔@IR_javascript
👍1
در خروجی چه خواهد بود؟
Anonymous Quiz
41%
1
31%
undefined
17%
refrenceError
10%
typeError
👍2