جاوااسکریپت چطوری خلق شد؟ ✌️
📌 یه نکته جالب درباره جاوااسکریپت که خیلیها نمیدونن اینه که جاوااسکریپت در اصل در ۱۰ روز توسط یک برنامهنویس به نام برندان آیک ساخته شد! اون زمان شرکت Netscape به سرعت به یه زبان اسکریپتنویسی برای وب نیاز داشت تا بتونه با رقبا رقابت کنه. این زبان اول به نام Mocha معرفی شد، بعد اسمش شد LiveScript و نهایتاً برای استفاده از شهرت جاوا، اسمش رو به جاوااسکریپت تغییر دادن، با اینکه ارتباط زیادی با جاوا نداره.
💥 در واقع، جاوااسکریپت خیلی سریع طراحی شد و انتظار نمیرفت که تبدیل به یکی از مهمترین زبانهای وب بشه!
#javascript #js
☕️ @CodeExplore
#javascript #js
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡23❤🔥5😁4🔥2
تناقض عجیب در جاوااسکریپت ✌️
🙂 خب میدونین که از typeof برای تشخیص دادن جنس مقادیر استفاده میشه، مثلا اگر بنویسیم
بهتون خروجی number رو برمیگردونه. حالا، بیاین ببینیم اگر بهش null بدیم چی میشه؟
🤯 چرا؟ در واقع null توی جاوااسکریپت به عنوان آبجکت شناخته میشه، این داستان یه باگ تاریخیه توی جاوااسکریپت، که از نسخه های ابتداییش مونده و به دلایلی برای سازگاری عقب رو نگه داشتنش و هنوزم وجود داره.
خلاصش که توی جاوااسکریپت null به عنوان یه آبجکت شناخته میشه در حالی که واقعا شئ نیست و به عنوان "هیچی" میشناسیمش🥲
#javascript #js
☕️ @CodeExplore
console.log(typeof 1);
بهتون خروجی number رو برمیگردونه. حالا، بیاین ببینیم اگر بهش null بدیم چی میشه؟
console.log(typeof null)
//خروجی: object
خلاصش که توی جاوااسکریپت null به عنوان یه آبجکت شناخته میشه در حالی که واقعا شئ نیست و به عنوان "هیچی" میشناسیمش
#javascript #js
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡20❤🔥3🔥3
اگه دنبال یه سایت خفن برای جاوااسکریپت هستین، این سایت واقعاً عالیه و همه چیز رو از مبانی تا مباحث پیشرفته جاوااسکریپت توضیح داده. آموزشهاش خیلی خوب و ساده نوشته شده و تو هر مبحث کلی مثال کاربردی میزنه.
🔗 JavaScript.info
#site #javascript #js
☕️ @CodeExplore
#site #javascript #js
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥11⚡2🔥2
خروجی این کد چیه؟
#js #javascript #quiz
☕️ @CodeExplore
(function() {
var a = b = 5;
})();
console.log(b);
#js #javascript #quiz
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡7💔3❤🔥1🔥1
چرا نباید از setTimeout در جاوااسکریپت استفاده کنیم؟ مرهم این موضوع 👀
❗️ در جاوااسکریپت، setTimeout یک تابع پرکاربرد برای اجرای کد بعد از گذشت زمانی مشخص است. اما استفاده از این تابع میتواند مشکلاتی ایجاد کند که به مرور باعث کاهش کارایی و افزایش پیچیدگی کدها میشود. در این مقاله، به دلایل اصلی عدم استفاده از setTimeout و جایگزینهای بهتر مانند Promise و async/await میپردازیم.
🌕 برای مشاهده کامل مقاله کلیک کنید.
#js #javascript #settimeout #promise #async #await #tricks #tips #programming
☕️ @CodeExplore
#js #javascript #settimeout #promise #async #await #tricks #tips #programming
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥11⚡5🔥2
WebAssembly در فرانتاند: تحولی برای عملکرد بالاتر 🔥
📣 WebAssembly (Wasm) یکی از جدیدترین تکنولوژیها در دنیای وب هست که به توسعه دهندگان امکان میده تا کدهای سطح پایین و بهینهای رو روی مرورگرهای وب اجرا کنن. این تکنولوژی برای برنامههایی که به سرعت و عملکرد بالایی نیاز دارن، مثل بازیهای وب و برنامههای محاسباتی سنگین، بسیار کاربردی هست. در این مقاله، به بررسی WebAssembly، مزایای آن در فرانتاند، و چگونگی استفاده از آن خواهیم پرداخت.
🌕 برای مشاهده کامل مقاله کلیک کنید.
#webassembelly #frontend #js #html #css #javascript #programming
☕️ @CodeExplore
#webassembelly #frontend #js #html #css #javascript #programming
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡12❤🔥3🔥2
توی این سایت میتونی به بیش از 100 پروژه که با جاوا اسکریپت پیاده شدن دسترسی داشته باشی🔥
کافیه روی هر پروژه که میخوای کلیک کنی و توضیحات مربوط به پروژه، دمو پروژه و حتی کد های پروژه رو استفاده کنی😃✅
https://100jsprojects.com
🛎 اگر سایت براتون باز نشد از VPN استفاده کنید.
حمایت و اشتراک گذاری فراموش نشه😉🧡
#js #javascript #projects #programming
☕️ Telegram | Website | Discord
کافیه روی هر پروژه که میخوای کلیک کنی و توضیحات مربوط به پروژه، دمو پروژه و حتی کد های پروژه رو استفاده کنی😃✅
https://100jsprojects.com
🛎 اگر سایت براتون باز نشد از VPN استفاده کنید.
حمایت و اشتراک گذاری فراموش نشه😉🧡
#js #javascript #projects #programming
☕️ Telegram | Website | Discord
⚡7🔥4
میدونستین توی جاوااسکریپت میتونین صفحه های کاربر رو مدیریت کنین؟ ⚡️
🔹️ یعنی مثلا یک صفحه بره عقب،یک صفحه بره جلو یا ... به این شکل هستش...
🔸️ این برای وقتیه که کاربر یک صفحه برگشته عقب، با این میتونید بفرستیدش بره صفحه قبلی(یعنی صفحه جلویی!):
🔸️ این یکی هم برای وقتیه که میخواید کاربر رو یک صفحه ببرید عقب! به این شکل:
#javascript #js #trick
☕️Telegram | Website | Discord
🔹️ یعنی مثلا یک صفحه بره عقب،یک صفحه بره جلو یا ... به این شکل هستش...
🔸️ این برای وقتیه که کاربر یک صفحه برگشته عقب، با این میتونید بفرستیدش بره صفحه قبلی(یعنی صفحه جلویی!):
history.forward()
🔸️ این یکی هم برای وقتیه که میخواید کاربر رو یک صفحه ببرید عقب! به این شکل:
history.back()
#javascript #js #trick
☕️Telegram | Website | Discord
❤🔥10🔥3
استخراج آرایه به روش Destructing در جاوااسکریپت 🔥
🔸️یه روش خفن توی جاوااسکریپت هست به اسم Destructuring که خیلی کارو راحت میکنه ⚡️
🔹️با این روش میتونی خیلی راحت مقدارها رو از آبجکت یا آرایه بکشی بیرون، بدون نیاز به کلی کد اضافه.
مثلاً:
#javascript #js #trick #destructuring
☕️Telegram | Website | Discord
🔸️یه روش خفن توی جاوااسکریپت هست به اسم Destructuring که خیلی کارو راحت میکنه ⚡️
🔹️با این روش میتونی خیلی راحت مقدارها رو از آبجکت یا آرایه بکشی بیرون، بدون نیاز به کلی کد اضافه.
مثلاً:
let user = { name: 'Ali', age: 25 };
let { name, age } = user;
console.log(name, age); // خروجی: 'Ali', 25
let numbers = [1, 2, 3];
let [first, second, third] = numbers;
console.log(first, second, third); // خروجی: 1, 2, 3
#javascript #js #trick #destructuring
☕️Telegram | Website | Discord
❤🔥8🔥2
🔸️قالب 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
🔥16❤🔥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