+ جاوااسکریپت بلدی؟
- آره چطور؟
+ این کد زیر چیکار میکنه؟ تو کامنت ها بگو📣
💎 بچه ها جوابشو حتما میزارم فقط لطف کنین کامل بررسیش کنین و تفسیرش کنین
#javascript
☕️ @CodeExplore
- آره چطور؟
+ این کد زیر چیکار میکنه؟ تو کامنت ها بگو
i = i ? i < 0 ? Math.max(0, len + i) : i : 0;
#javascript
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11💔6
fetch
یه ابزار تو خود جاوااسکریپته که باهاش میتونی بری از سرور درخواست بدی و دادهها رو بگیری. این ابزار تو مرورگرهای جدید بهطور پیشفرض هست، یعنی لازم نیست چیزی نصب کنی. خیلی سادهست ولی یه جاهایی ممکنه اذیت کنه؛ مثلاً اگه سرور جواب بدی بهت، خودت باید بفهمی مشکل چیه، چون fetch
فقط خطاهای خیلی بزرگ رو میگیره.
حالا
axios
یه کتابخونه بیرونیه که باید نصبش کنی، ولی کلی امکانات باحال داره. مثلاً اگه سرور یه جواب بد بهت بده، خودش میفهمه و بهت میگه. این باعث میشه کار راحتتر بشه، مخصوصاً اگه پروژه پیچیدهتر باشه. یه خوبی دیگهاش اینه که حتی اگه مرورگر قدیمی داشته باشی، بازم کار میکنه. از همه مهمتر، کلی قابلیت اضافه داره، مثل اینکه میتونی درخواستها رو کنسل کنی، یا براشون تایماوت بذاری، یا قبل از اینکه درخواست بره به سرور، توکن احراز هویت رو خودکار بهش اضافه کنی.- مدیریت خطاها:
axios
خودش خطاهای سرور رو مدیریت میکنه، ولی fetch
نه.- سازگاری با مرورگرها:
axios
حتی تو مرورگرهای قدیمی هم کار میکنه.- امکانات بیشتر:
axios
کلی ابزار اضافه داره که کار رو راحتتر میکنه.مثالها:
- مثال ساده با `fetch`:
fetch('https://api.example.com/data')
.then(response => {
if (!response.ok) {
throw new Error('HTTP error ' + response.status);
}
return response.json();
})
.then(data => console.log(data))
.catch(error => console.error('Fetch error:', error));
- مثال ساده با `axios`:
axios.get('https://api.example.com/data')
.then(response => console.log(response.data))
.catch(error => console.error('Axios error:', error));
اگه دنبال یه راه سریع و ساده برای کارای معمولی هستی،
fetch
بد نیست. ولی اگه قراره پروژهات بزرگتر باشه و نیاز به امکانات بیشتری داری، axios
کارتو خیلی راحتتر میکنه.#fetch #axios #javascript
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡21😁7🔥3❤🔥2
استفاده از کاما به عنوان اوپراتور در جاوااسکریپت ✌️
✅ میتونید از علامت کاما , به عنوان یک اپراتور استفاده کنید. این اپراتور اجازه میده تا چندین عبارت رو در یک عبارت واحد قرار بدید، اما فقط مقدار آخرین عبارت برگردونده میشه.
#javascript #js #trick
☕️ @CodeExplore
let x = (1, 2, 3, 4);
console.log(x); // خروجی: 4
#javascript #js #trick
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡15🔥4❤🔥3
لینک بی عمل در جاوااسکریپت ✌️
⚡️ با این کد میتونید یک لینک درست کنید که دقیقا هیچکاری نمیکنه، نه صفحه جدیدی باز میکنه، نه هشتگی توی url میزاره و نه هیچی.
#html #js #javascript #trick
☕️ @CodeExplore
<a href="javascript:void(0);">Click Me!</a>
#html #js #javascript #trick
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14⚡5❤🔥3
نتیجه اجرای این کد کدوم گزینه هست؟
#javascript #js #quiz
☕️ @CodeExplore
(function() {
var a = b = 5;
})();
console.log(typeof a);
console.log(typeof b);
#javascript #js #quiz
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡6
برچسب گذاری شرط ها ( Labelled Statements ) در جاوااسکریپت ✌️
💎 در جاوااسکریپت میتونید به هر statement یک برچسب (label) اختصاص بدید و بعد از اون برچسب برای کنترل جریان برنامه استفاده کنید. این ویژگی بیشتر برای کنترل جریان در حلقهها (loops) به کار میره. این مثال رو ببینیم تا بهتر متوجه کاربردش بشیم:
✔️ در واقع خروجی به این شکله:
✨ و وقتی که i و j هر دو برابر 1 میشن، لوپ بزرگتر ما break میشه و میره خونشون.
و برنامه میره ادامه کارش(یا مثل این مثال، تموم میشه)
#javascript #js #trick
☕️ @CodeExplore
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
و برنامه میره ادامه کارش(یا مثل این مثال، تموم میشه)
#javascript #js #trick
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥10⚡2🔥1
کاربرد اعداد BigInt در جاوااسکریپت ✌️
میدونستین توی جاوااسکریپت این شرط برقراره؟
اما چرا؟ چون توی جاوااسکریپت، بزرگترین عدد صحیحی که میتونین با دقت کامل توی متغیرها ذخیره کنید، Number.MAX_SAFE_INTEGER هست که برابر با 9007199254740991 است. اگه عددی بزرگتر از این باشه، جاوااسکریپت دیگه نمیتونه به درستی اون رو مدیریت کنه و مقایسهاش دقیق نیست.
راه حلش چیه؟ باید اعدادتون رو BigInt تعریف کنید. چطوری؟ اینطوری:
البته میتونید اینکار رو هم بکنید:
#javascript #js #trick
☕️ @CodeExplore
میدونستین توی جاوااسکریپت این شرط برقراره؟
console.log(9999999999999999 === 10000000000000000);
// true
اما چرا؟ چون توی جاوااسکریپت، بزرگترین عدد صحیحی که میتونین با دقت کامل توی متغیرها ذخیره کنید، Number.MAX_SAFE_INTEGER هست که برابر با 9007199254740991 است. اگه عددی بزرگتر از این باشه، جاوااسکریپت دیگه نمیتونه به درستی اون رو مدیریت کنه و مقایسهاش دقیق نیست.
راه حلش چیه؟ باید اعدادتون رو BigInt تعریف کنید. چطوری؟ اینطوری:
let bigNumber = 1234567890123456789012345678901234567890n;
console.log(bigNumber);
//1234567890123456789012345678901234567890n
البته میتونید اینکار رو هم بکنید:
let number= 42
let bignumber = BigInt(number)
#javascript #js #trick
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡11🔥3❤🔥1
جاوااسکریپت چطوری خلق شد؟ ✌️
📌 یه نکته جالب درباره جاوااسکریپت که خیلیها نمیدونن اینه که جاوااسکریپت در اصل در ۱۰ روز توسط یک برنامهنویس به نام برندان آیک ساخته شد! اون زمان شرکت 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
با این یه خط کد داده تکراری آرایه در جاوااسکریپت رو حذف کن! 🔥
🔸️برای اینکار بیاید فرض کنیم یک آرایه داریم که این مقادیر رو داره:
🔹️خب، حالا میخوایم مقادیری که تکراری نیستن رو بگیریم یعنی آرایه جدید ما باید شامل 1,2,3 باشه، بجای اینکه بریم از آرایه اضافه و حلقه فور استفاده کنیم و سرعت لود شدن سایت رو بیاریم پایین این یه خط رو مینویسیم:
و تمام! اگر در مورد Set ها در جاوااسکریپت نمیدونید هم این پست حتما به کارتون میاد!
#javascript #trick
☕️Telegram | Website | Discord
🔸️برای اینکار بیاید فرض کنیم یک آرایه داریم که این مقادیر رو داره:
const arr1=[1,1,1,2,2,3,3,3,3] ;
🔹️خب، حالا میخوایم مقادیری که تکراری نیستن رو بگیریم یعنی آرایه جدید ما باید شامل 1,2,3 باشه، بجای اینکه بریم از آرایه اضافه و حلقه فور استفاده کنیم و سرعت لود شدن سایت رو بیاریم پایین این یه خط رو مینویسیم:
const uniqeArr = [ ... new Set(arr1) ] ;
و تمام! اگر در مورد Set ها در جاوااسکریپت نمیدونید هم این پست حتما به کارتون میاد!
#javascript #trick
☕️Telegram | Website | Discord
❤🔥7🔥3
میدونستین توی جاوااسکریپت میتونین صفحه های کاربر رو مدیریت کنین؟ ⚡️
🔹️ یعنی مثلا یک صفحه بره عقب،یک صفحه بره جلو یا ... به این شکل هستش...
🔸️ این برای وقتیه که کاربر یک صفحه برگشته عقب، با این میتونید بفرستیدش بره صفحه قبلی(یعنی صفحه جلویی!):
🔸️ این یکی هم برای وقتیه که میخواید کاربر رو یک صفحه ببرید عقب! به این شکل:
#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
میدونستین میتونین از لیست ها توی شرط در جاوااسکریپت استفاده کنین؟ 🔥
🔸️ مثلا میخوایم چک بکنیم یه مقداری برابر 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
💎با استفاده از animejs شما میتونید هر کامپوننت انیمیشنی رو پیدا کنید و از اون استفاده کنید.
از ویژگی های animejs به تبدیل های پیشرفته، SVG toolset، Responsive Animations و... میشه اشاره کرد.
فقط کافیه به داکیومنتش سر بزنید نحوه نصب و استفاده از انیمیشن های مختلفش رو ببینید و به کد های جاوا اسکریپت و HTML انیمیشن ها دسترسی داشته باشید.
🔗 https://animejs.com
#animejs #javascript #animations
☕️Telegram | Website | Discord
از ویژگی های animejs به تبدیل های پیشرفته، SVG toolset، Responsive Animations و... میشه اشاره کرد.
فقط کافیه به داکیومنتش سر بزنید نحوه نصب و استفاده از انیمیشن های مختلفش رو ببینید و به کد های جاوا اسکریپت و HTML انیمیشن ها دسترسی داشته باشید.
🔗 https://animejs.com
#animejs #javascript #animations
☕️Telegram | Website | Discord
🔥7❤🔥2⚡1