BroadcastChannel
ارتباط بین تبها و پنجرهها:
✔️ برای همگامسازی داده بین صفحات باز.
#JavaScript #BroadcastChannel #Communication
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
ارتباط بین تبها و پنجرهها:
let bc = new BroadcastChannel('test');
bc.postMessage("سلام");
bc.onmessage = e => console.log(e.data);#JavaScript #BroadcastChannel #Communication
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
Clipboard API
خواندن و نوشتن در کلیپبورد:
✔️ مناسب برای دکمه "Copy to Clipboard".
#JavaScript #ClipboardAPI #UX
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
خواندن و نوشتن در کلیپبورد:
navigator.clipboard.writeText("متن کپی شده");#JavaScript #ClipboardAPI #UX
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
matchMedia
تشخیص شرایط رسانه (مثل CSS Media Query):
✔️ برای تغییر رفتار بر اساس اندازه صفحه.
#JavaScript #matchMedia #Responsive
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
تشخیص شرایط رسانه (مثل CSS Media Query):
if(window.matchMedia("(max-width: 600px)").matches){
console.log("صفحه کوچک است");
}#JavaScript #matchMedia #Responsive
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
OffscreenCanvas
رندر گرافیک در خارج از صفحه:
✔️ برای عملکرد بهتر در انیمیشنها و پردازش گرافیکی.
#JavaScript #OffscreenCanvas #Graphics
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
رندر گرافیک در خارج از صفحه:
let canvas = new OffscreenCanvas(256, 256);
let ctx = canvas.getContext("2d");
ctx.fillRect(0,0,100,100);
#JavaScript #OffscreenCanvas #Graphics
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
IntersectionObserver
تشخیص وقتی یک المان وارد دید کاربر میشه:
✔️ عالی برای Lazy Loading و انیمیشنها.
#JavaScript #IntersectionObserver #Performance
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
تشخیص وقتی یک المان وارد دید کاربر میشه:
let observer = new IntersectionObserver(entries => {
if(entries[0].isIntersecting){
console.log("المان دیده شد!");
}
});
observer.observe(document.querySelector('#target'));#JavaScript #IntersectionObserver #Performance
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
AbortController
کنترل و لغو درخواستهای Fetch:
✔️ مدیریت بهتر درخواستهای شبکه و جلوگیری از نشت حافظه.
#JavaScript #AbortController #Fetch
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
کنترل و لغو درخواستهای Fetch:
let controller = new AbortController();
fetch('/data', { signal: controller.signal });
controller.abort();
#JavaScript #AbortController #Fetch
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
Performance API
اندازهگیری سرعت اجرای کد:
✔️ برای بهینهسازی واقعی پروژه.
#JavaScript #PerformanceAPI #Optimization
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
اندازهگیری سرعت اجرای کد:
performance.mark("start");
// کد شما
performance.mark("end");
performance.measure("myCode", "start", "end");
console.log(performance.getEntriesByName("myCode"));#JavaScript #PerformanceAPI #Optimization
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
Notification API
ارسال نوتیفیکیشن به کاربر:
✔️ برای یادآوری و افزایش تعامل.
#JavaScript #NotificationAPI #Engagement
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
ارسال نوتیفیکیشن به کاربر:
Notification.requestPermission().then(p => {
if(p === "granted"){
new Notification("سلام! وقتشه برگردی به سایت 😉");
}
});#JavaScript #NotificationAPI #Engagement
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
StructuredClone
کپی عمیق و ایمن اشیا:
✔️ سریعتر و امنتر از JSON.parse(JSON.stringify).
#JavaScript #StructuredClone #DeepCopy
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
کپی عمیق و ایمن اشیا:
let obj = { a: 1, b: { c: 2 } };
let clone = structuredClone(obj);
clone.b.c = 99;
console.log(obj.b.c); // 2#JavaScript #StructuredClone #DeepCopy
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
Page Visibility API
تشخیص وقتی کاربر تب رو ترک یا برمیگرده:
✔️ برای توقف و ادامه پخش ویدیو یا انیمیشن.
#JavaScript #PageVisibilityAPI #UserExperience
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
تشخیص وقتی کاربر تب رو ترک یا برمیگرده:
document.addEventListener("visibilitychange", () => {
if(document.hidden) console.log("کاربر رفت");
else console.log("کاربر برگشت");
});#JavaScript #PageVisibilityAPI #UserExperience
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
Web Workers
اجرای کد در یک Thread جدا بدون کند کردن UI:
✔️ عالی برای محاسبات سنگین بدون فریز شدن صفحه.
#JavaScript #WebWorkers #Performance
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
اجرای کد در یک Thread جدا بدون کند کردن UI:
// worker.js
self.onmessage = e => {
let result = e.data * 2;
postMessage(result);
};
// main.js
let worker = new Worker('worker.js');
worker.postMessage(5);
worker.onmessage = e => console.log(e.data); // 10
#JavaScript #WebWorkers #Performance
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
وقتی پروژه سنگینه، تقسیمش کن بین چند نفر… یا چند Thread 😉
#Motivation #ProgrammingLife
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
#Motivation #ProgrammingLife
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Streams API
خواندن دادهها تکهتکه به جای یکجا:
✔️ برای مدیریت فایلهای بزرگ بدون فشار به حافظه.
#JavaScript #StreamsAPI #Optimization
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
خواندن دادهها تکهتکه به جای یکجا:
fetch('/bigfile.txt')
.then(res => res.body.getReader())
.then(reader => reader.read().then(console.log));#JavaScript #StreamsAPI #Optimization
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
SharedArrayBuffer
اشتراک حافظه بین Threadها:
✔️ برای پروژههای با نیاز به هماهنگی دادهها.
#JavaScript #SharedArrayBuffer #Concurrency
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
اشتراک حافظه بین Threadها:
let buffer = new SharedArrayBuffer(1024);
let arr = new Int32Array(buffer);
arr[0] = 42;
#JavaScript #SharedArrayBuffer #Concurrency
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM
قدمبهقدم حرکت کن؛ حتی طولانیترین مسیرها با اولین بایت شروع میشه.
#Motivation #CodingMindset
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
#Motivation #CodingMindset
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
BroadcastChannel
ارتباط بین تبهای مختلف مرورگر:
✔️ عالی برای همگامسازی دیتا بین تبها.
#JavaScript #BroadcastChannel #WebDev
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
ارتباط بین تبهای مختلف مرورگر:
let bc = new BroadcastChannel('channel_name');
bc.onmessage = e => console.log(e.data);
bc.postMessage('سلام از تب دیگه!');#JavaScript #BroadcastChannel #WebDev
➖➖➖➖➖➖➖➖➖
꧁ channel | group | website ꧂
Please open Telegram to view this post
VIEW IN TELEGRAM