🔸️قالب HTML تلینو یه انتخاب عالی برای تیم هاییه که روی رباتهای تلگرام کار میکنن و دوست دارن یه سایت اختصاصی خوشگل و حرفهای داشته باشن تا کارشون حسابی بدرخشه.تو این قالب همهچی هست، از صفحهی اصلی گرفته تا صفحات فرعی، بلاگ، جستجو و کلی چیز دیگه که میتونه سایتتون رو کامل و تر و تمیز کنه.
GitHub: https://github.com/htaria/telegram-services-site
#html #theme #telegram #site #css #js #frontend
☕️Telegram | Website | Discord
GitHub: https://github.com/htaria/telegram-services-site
#html #theme #telegram #site #css #js #frontend
☕️Telegram | Website | Discord
🔥5❤🔥3⚡2
میدونستین میتونین از لیست ها توی شرط در جاوااسکریپت استفاده کنین؟ 🔥
🔸️ مثلا میخوایم چک بکنیم یه مقداری برابر 1 یا one هستش یا نه(و میتونه این مقدار طولانی تر باشه،مثلا شامل 2,two,3,three هم باشه)
🔹️بجای اینکه بنویسین:
میتونید بنویسید:
#javascript #js #trick
☕️Telegram | Website | Discord
🔸️ مثلا میخوایم چک بکنیم یه مقداری برابر 1 یا one هستش یا نه(و میتونه این مقدار طولانی تر باشه،مثلا شامل 2,two,3,three هم باشه)
🔹️بجای اینکه بنویسین:
if(value == 1 || value == 'one'){
//کدی که میخواین
}میتونید بنویسید:
if([1,'one'].includes(value)){
//کدی که میخواین
}#javascript #js #trick
☕️Telegram | Website | Discord
🔥16⚡2
برچسب گذاری شرط ها ( Labelled Statements ) در جاوااسکریپت ✅️
🔹️در جاوااسکریپت میتونید به هر statement یک برچسب (label) اختصاص بدید و بعد از اون برچسب برای کنترل جریان برنامه استفاده کنید. این ویژگی بیشتر برای کنترل جریان در حلقهها (loops) به کار میره. این مثال رو ببینیم تا بهتر متوجه کاربردش بشیم:
🔸️در واقع خروجی به این شکله:
⚡️و وقتی که i و j هر دو برابر 1 میشن، لوپ بزرگتر ما break میشه و میره خونشون.
و برنامه میره ادامه کارش(یا مثل این مثال، تموم میشه)
#javascript #js #trick
☕️Telegram | Website | Discord
🔹️در جاوااسکریپت میتونید به هر statement یک برچسب (label) اختصاص بدید و بعد از اون برچسب برای کنترل جریان برنامه استفاده کنید. این ویژگی بیشتر برای کنترل جریان در حلقهها (loops) به کار میره. این مثال رو ببینیم تا بهتر متوجه کاربردش بشیم:
outerLoop: for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
break outerLoop;
}
console.log(`i = ${i}, j = ${j}`);
}
}🔸️در واقع خروجی به این شکله:
i = 0, j = 0
i = 0, j = 1
i = 0, j = 2
i = 1, j = 0
⚡️و وقتی که i و j هر دو برابر 1 میشن، لوپ بزرگتر ما break میشه و میره خونشون.
و برنامه میره ادامه کارش(یا مثل این مثال، تموم میشه)
#javascript #js #trick
☕️Telegram | Website | Discord
🔥9❤🔥3
چجوری توی جاوااسکریپت بفهمیم کاربر مقداری وارد کرده یا نه؟ ⚡️
🔸️ خب احتمالا در حالت عادی میرفتید با if طول دیتا رو بدست میاوردید و true یا false رو برمیگردوندید، اما نیازی به این کار نیست.
#javascript #js #trick
☕️Telegram | Website | Discord
🔸️ خب احتمالا در حالت عادی میرفتید با if طول دیتا رو بدست میاوردید و true یا false رو برمیگردوندید، اما نیازی به این کار نیست.
const v1 = "CodeExplore"
const v2 = ""
console.log(!!v1)
// true
console.log(!!v2)
// false
#javascript #js #trick
☕️Telegram | Website | Discord
🔥18❤🔥3⚡1
Flat کردن array در جاوااسکریپت 🔥
🔹️دیدین بعضی وقتا آرایه رو میدن این شکلیه:
و شما میخواین به صورت 1,2,3,4,5,6 باشه!
🔸️اینجور وقتا به جای اینکه کفرتون در بیاد میتونین این کد رو بنویسید و به آرامش درونتون برگردید:
✅️اینجور وقتا اصطلاحا یک آرایه پیچ در پیچ یا تو در تو رو، flat کردیم
#javascript #js #trick #flatArray
☕️Telegram | Website | Discord
🔹️دیدین بعضی وقتا آرایه رو میدن این شکلیه:
let array = [1, [2, 3], [4, [5, 6]]];
و شما میخواین به صورت 1,2,3,4,5,6 باشه!
🔸️اینجور وقتا به جای اینکه کفرتون در بیاد میتونین این کد رو بنویسید و به آرامش درونتون برگردید:
let array = [1, [2, 3], [4, [5, 6]]];
let flatArray = array.flat(2);
// [1, 2, 3, 4, 5, 6]
✅️اینجور وقتا اصطلاحا یک آرایه پیچ در پیچ یا تو در تو رو، flat کردیم
#javascript #js #trick #flatArray
☕️Telegram | Website | Discord
🔥9⚡3❤🔥1
تا حالا به فرق var، let و const فکر کردین؟
🔹var همه جا کار میکنه ولی یه سری دردسرا داره، مثلاً متغیر قبل از تعریف هم قابل استفاده هست (به خاطر hoisting)، که گاهی اوقات خیلی گمراهکننده میشه.
🔹let نسخه پیشرفته تره؛ فقط توی همون بلاکی که تعریفش کردی در دسترسه، و میتونی بعداً مقدارش رو عوض کنی.
🔹const هم مثل let رفتار میکنه، فقط فرقش اینه که دیگه نمیتونی مقدارش رو عوض کنی! البته اگه یه آرایه یا آبجکت باشه، میتونی داخلش رو دستکاری کنی!
این مورد هایی که گفتیم، فرق های جزئی هستن، میتونید مقاله کامل راجب این موارد رو توی سایتمون بخونید:
🔗 تفاوت var و let و const در JavaScript
#javascript #js #const #let #var
☕️Telegram | Website | Discord
🔹var همه جا کار میکنه ولی یه سری دردسرا داره، مثلاً متغیر قبل از تعریف هم قابل استفاده هست (به خاطر hoisting)، که گاهی اوقات خیلی گمراهکننده میشه.
🔹let نسخه پیشرفته تره؛ فقط توی همون بلاکی که تعریفش کردی در دسترسه، و میتونی بعداً مقدارش رو عوض کنی.
🔹const هم مثل let رفتار میکنه، فقط فرقش اینه که دیگه نمیتونی مقدارش رو عوض کنی! البته اگه یه آرایه یا آبجکت باشه، میتونی داخلش رو دستکاری کنی!
این مورد هایی که گفتیم، فرق های جزئی هستن، میتونید مقاله کامل راجب این موارد رو توی سایتمون بخونید:
🔗 تفاوت var و let و const در JavaScript
#javascript #js #const #let #var
☕️Telegram | Website | Discord
🔥14❤🔥5⚡3😁1
تو دنیای جاوااسکریپت برای مدیریت کدهای بزرگ و پیچیده، ماژولبندی حیاتی هست. دو سیستم معروف CommonJS و ESM هر کدوم ویژگیها و کاربردهای خاص خودشون رو دارن. CommonJS که از Node.js اومده و از روش همزمان (sync) بارگذاری استفاده میکنه، تو محیط سرور حسابی جا افتاده، ولی تو مرورگر بهصورت مستقیم کار نمیکنه و نیاز به ابزارهای bundler مثل Webpack داره. از طرف دیگه، ESM که استاندارد جدید ECMAScript هست، با بارگذاری غیرهمزمان (async) و قابلیت tree-shaking (حذف کدهای بلااستفاده) بهینهتره و هم تو مرورگر های مدرن و هم تو Node.js نسخههای جدید پشتیبانی میشه.
برای مطالعه دقیق راجب تفاوت CommonJS و ESM این مقاله رو میتونید بخونید:
🔗 تفاوت های CommonJs و ESM
#Javascript #JS #CommonJS #ESM
☕️Telegram | Website | Discord
برای مطالعه دقیق راجب تفاوت CommonJS و ESM این مقاله رو میتونید بخونید:
🔗 تفاوت های CommonJs و ESM
#Javascript #JS #CommonJS #ESM
☕️Telegram | Website | Discord
❤🔥7🔥5
خواندن متن کپی شده با جاوااسکریپت 👀
🔹️برای دریافت متنی که کاربر داخل کلیپبورد خودش داره میتونید از navigator استفاده کنید.
🔸️چیزی که متد readText بهتون میده از جنس پرامیس هست و نکته مهم دیگه ای که هستش اینه که کاربرد باید حتما بهتون دسترسی بده وگرنه ارور دریافت میکنید.
#javascript #js #clipboard
☕️Telegram | Website | Discord
🔹️برای دریافت متنی که کاربر داخل کلیپبورد خودش داره میتونید از navigator استفاده کنید.
text= navigator.clipboard.readText();
consloe.log(text);
🔸️چیزی که متد readText بهتون میده از جنس پرامیس هست و نکته مهم دیگه ای که هستش اینه که کاربرد باید حتما بهتون دسترسی بده وگرنه ارور دریافت میکنید.
#javascript #js #clipboard
☕️Telegram | Website | Discord
❤🔥10🔥3
⚙️ یکی از اشتباهات رایج در جاوااسکریپت زمانی پیش میاد که بخوای متغیر خصوصی (Private Variable) رو با Prototype ترکیب کنی.
در متدهایی که داخل constructor تعریف میشن، متغیرهای خصوصی از طریق Closure در دسترس هستن.
اما وقتی متد رو روی prototype تعریف کنی، اون متد به scope خصوصی constructor دسترسی نداره و فقط میتونه از this استفاده کنه.
اینجا getX روی prototype تعریف شده، اما به متغیر x که داخل constructor بوده دسترسی نداره؛ چون اون متغیر فقط داخل closure ساخته شده.
اما توی این مثال:
اینجا متد getX داخل constructor تعریف شده و به x دسترسی داره چون در همون scope ساخته شده.
#js #prototype
☕️Telegram | Website | Discord
در متدهایی که داخل constructor تعریف میشن، متغیرهای خصوصی از طریق Closure در دسترس هستن.
اما وقتی متد رو روی prototype تعریف کنی، اون متد به scope خصوصی constructor دسترسی نداره و فقط میتونه از this استفاده کنه.
function MyConstructor() {
var x = "ABC";
}
MyConstructor.prototype.getX = function() {
return x;
};اینجا getX روی prototype تعریف شده، اما به متغیر x که داخل constructor بوده دسترسی نداره؛ چون اون متغیر فقط داخل closure ساخته شده.
اما توی این مثال:
function MyConstructor() {
var x = "ABC";
this.getX = function() {
return x;
};
}اینجا متد getX داخل constructor تعریف شده و به x دسترسی داره چون در همون scope ساخته شده.
#js #prototype
☕️Telegram | Website | Discord
❤🔥39🔥5😍1