#javascript #triks #js_trick
● استفاده از Optional Chaining در جاوااسکریپت ●
وقتی میخواید به یک پروپرتی در یک آبجکت دسترسی پیدا کنید و مطمئن نیستید که آیا اون پروپرتی وجود داره یا نه، میتونید از Optional Chaining استفاده کنید تا از ارور جلوگیری کنید ⚡
مثل عملی 🚀
let user = {
name: "Ali",
address: {
city: "Tehran"
}
};
console.log(user.address?.city); // "Tehran"
console.log(user.contact?.phone); // undefined (بدون ارور)
ممنون میشم با ری اکشنای خودتون بهمون انرژی بدید ❤️
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
Channel | Group | YouTube | Instagram
❤4🔥3
#javascript #vs #article
هیچ چیزی بهتر از این عکس نمیتونست فرق بین Primitive و Reference Values رو بهم نشون بده 😂
البته اینا شوخیه، اگر خواستید تفاوت این دوتا رو بهتر بدونید پیشنهاد میکنم این مقاله رو مطالعه کنید، چون هم فارسیه و هم مختصر و مفید توضیح داده ⚡
پ.ن : اگر با زبان برنامه نویسی جاوااسکریپت کار میکنید یکی از مباحث مهمی که حتما باید بدونید primitive و refrence value هستش 👌
👏4🔥1
#javascript #js_trick
● استفاده از Array Destructuring در جاواسکریپت ●
یکی از قابلیت های جذاب جاوااسکریپت Array Destructuring هستش. این قابلیت باعث میشه خیلی راحت و سریع، مقادیر داخل آرایهها رو به متغیرها منتقل کنیم.
مثال عملی 🚀
const [a, b] = [10, 20];
console.log(a); // 10
console.log(b); // 20
با حمایتاتون بهمون انرژی بدید برای پستای خفن تر ❤️
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
Channel | Group | YouTube
❤5👎1🔥1
#javascript #js_trick
● متد structuredClone در جاوااسکریپت ●
تو جاوااسکریپت، آبجکتها بر اساس مرجع (Reference) مدیریت میشن. این یعنی اگه یه آبجکت رو به یه متغیر دیگه اختصاص بدی، هر دو متغیر به همون آبجکت اصلی اشاره میکنن و تغییر تو یکی، روی اون یکی هم تاثیر میذاره.
مثال 👇
const original = { name: "محمد", age: 18 };
const copy = original;
copy.name = "Doe";
console.log(original.name); // "Doe"
همونطور که میبینید توی مقال بالا وقتی copy رو تغییر دادیم، original هم تغییر کرد !
🔰 حالا structuredClone برای ما چیکار میکنه ؟
اگه بخوای یه کپی مستقل از آبجکت بسازی که تغییراتش تاثیری روی آبجکت اصلی نذاره، میتونی از متد structuredClone استفاده کنی. این متد یه کپی عمیق (deep clone) از آبجکت میسازه.
مثال عملی 🚀
const original = { name: "محمد", age: 18 };
const copy = structuredClone(original);
copy.name = "علی";
console.log(original.name); // "محمد"
console.log(copy.name); // "علی"
اینجا دیگه تغییرات تو copy روی original اثری نداره و هر کدوم مستقلاً تغییر میکنن.
Channel | Group | YouTube
👍7👎1🔥1
#javascript #tricks
● سه تا از کابردی ترین متد ها برای کار با آبجکت ها ●
➊ متد Object.keys : این متد تمام keyهای یک آبجکت رو گرفته و آنها را در یک آرایه قرار میدهد.
➋ متد Object.values : این متد تمام valueهای یک آبجکت را گرفته و آنها را در یک آرایه قرار میدهد.
➌ متد Object.entries : این متد keyها و valueها را به صورت key, value ترکیب میکند و آرایههایی از این جفتها ایجاد میکند.
مثال عملی 🚀
const obj { key1: 'value1', key2: 'value2', key3: 'value3'
};
const keysArray = Object.keys(obj);
const valuesArray = Object.values(obj);
const entriesArray = Object.entries(obj);
console.log(keysArray);
// Output: ['key', 'key2', 'key3']
console.log(valuesArray);
// Output: ['value', 'value2', 'value']
console.log(entriesArray);
// Output: [['key', 'value'], ['key2', 'value'], ['key3', 'value3']]
با حمایتاتون بهمون انرژی بدید ❤️
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
Channel | Group | YouTube
❤2👍2👎1🔥1👏1
#javascript #js_trick
● آشنایی با Numeric Separator در جاوااسکریپت
در جاوااسکریپت ●
ویژگی Numeric Separator به شما این امکان رو میده تا اعداد طولانی تر رو خواناتر کنید. با استفاده از کاراکتر آندرلاین _ میتونیم رقمها را در اعداد بزرگتر جدا کنیم، بدون اینکه تاثیری روی مقدار نهایی عدد داشته باشد.
مثال عملی 🚀
const largeNumber = 1_000_000_000; console.log(largeNumber); // 1000000000
این قابلیت زمانی که با اعداد طولانی کار میکنید، بسیار مفید است و به درک بهتر مقادیر کمک میکند ⚡
با حمایت خودتون بهمون انرژی بدید ❤️
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
Channel | Group | YouTube
👍7👎1🔥1
●● 🔒 مخفی کردن قسمتی از اطلاعات حساس با JavaScript ●●
خیلی وقتا نیاز داریم که تنها بخشی از یک داده حساس مثل شماره تلفن، شماره کارت بانکی و غیره را نمایش بدیم و باقی اون رو با کاراکترهای خاصی مثل * کاور کنیم. با استفاده از این کد ساده در جاوا اسکریپت، میتونید این کار رو به راحتی انجام بدید 🚀
اگه خوشت اومد برای پستای بیشتر مارو دنبال کن ❤️
#javascript #trick #js_trick
〰️〰️〰️〰️〰️〰️〰️️〰️〰️〰️
خیلی وقتا نیاز داریم که تنها بخشی از یک داده حساس مثل شماره تلفن، شماره کارت بانکی و غیره را نمایش بدیم و باقی اون رو با کاراکترهای خاصی مثل * کاور کنیم. با استفاده از این کد ساده در جاوا اسکریپت، میتونید این کار رو به راحتی انجام بدید 🚀
const mask = (value) => {
return value.trim().slice(-4).padStart(value.length, '*');
}
console.log(mask('09121111111'));
// خروجی => 1111*******
#javascript #trick #js_trick
〰️〰️〰️〰️〰️〰️〰️️〰️〰️〰️
Channel | Group | YouTube
❤5👍1👎1🔥1
#javascript #js_trick
●● نزار بیشتر از یک بار کلیک کنه ❌ ●●
برای اطمینان از اینکه یک ایونتی فقط یک بار اجرا بشه داخل جاوااسکریپت، میتونید از ویژگی once توی ارگومان سوم ایونتتون استفاده کنید.
button.addEventListener('click',() => {
alert('سلام رفیق 👋');
}, { once: true });
🌐 مشاده آنلاین مثال استفاده واقعی
🆔 Channel | Group | YouTube
❤10👌1
#javascript #js_trick
●● اطلاعات کامل باتری با جاوااسکریپت🔋●●
با استفاده از Battery Status Api میتونید سطح باتری، وضعیت شارژ شدن و دیگر اطلاعات مرتبط با باتری رو به دست بیارید و ازشون استفاده کنید.
نمونه کد 🚀
navigator.getBattery().then(battery => {
console.log(`Battery level: ${battery.level * 100}%`);
console.log(`Is charging: ${battery.charging ? 'Yes' : 'No'}`);
});
🌐 استفاده واقعی در وبسایت
🆔 Channel | Group | YouTube
🔥1
#WhatsThat #javascript #window
●● آبجکت window چیه و چه کار هایی برای ما انجام میده ؟ ●●
آبجکت window یک global object هستش که درواقع نماینده پنجره فعلی مرورگریه که اسکریپت شما در حال اجراست و یه جورایی میشه گفت که این window مثل مدیر ساختمونه که همه اتاقا و وسایل رو کنترل میکنه.
1️⃣ مدیریت تبهای مرورگر
میتونی با window.open یه تب جدید باز کنی یا با window.close یه تب رو ببندی.
let myWindow = window.open("https://example.com")
// بستن تب باز شده بعد از 5 ثانیه
setTimeout(() => {
myWindow.close();
}, 5000);
2️⃣ دسترسی به ابعاد پنجره
میتونی با window.innerWidth و window.innerHeight بفهمی اندازه فعلی پنجره فعلی چقدره. این خیلی به دردت میخوره وقتی میخوای سایز یه عنصر رو نسبت به اندازه صفحه تنظیم کنی.
let width = window.innerWidth;
let height = window.innerHeight;
let myDiv = document.getElementById("myDiv");
myDiv.style.width = (width / 2) + "px";
// نصف عرض پنجره
myDiv.style.height = (height / 3) + "px";
// یک سوم ارتفاع پنجره
3️⃣ ذخیره اطلاعات کاربر در LocalStorage
با window.localStorage میتونی اطلاعات کاربر رو ذخیره کنی که حتی بعد از بستن و باز کردن مرورگر هم باقی بمونه. مثلا یه کاربر میتونه تم سایت رو عوض کنه و بعداً همون تم دوباره براش لود بشه.
// ذخیره اطلاعات
window.localStorage.setItem("theme", "dark");
// خوندن اطلاعات
let theme = window.localStorage.getItem("theme");
console.log("تم انتخاب شده: " + theme);
// پاک کردن اطلاعات
window.localStorage.removeItem("theme");
4️⃣ کنترل URL
با window.location میتونی آدرس URL رو بخونی یا عوض کنی. مثلا کاربر رو به یه صفحه دیگه هدایت کنی.
// خوندن آدرس فعلی صفحه
console.log("آدرس فعلی: " + window.location.href);
// هدایت کاربر به صفحه دیگه
window.location.href = "https://example.com";
// تغییر قسمتی از URL بدون لود مجدد صفحه
window.location.hash = "section1"; // کاربر رو به بخش مشخصی از صفحه هدایت میکنه
5️⃣ تعامل با کاربر از طریق آلرتها
میتونی با window.alert() یه پیام پاپآپ به کاربر نشون بدی یا با window.prompt() ازش چیزی بپرسی.
// نمایش پیام ساده
window.alert("به وبسایت ما خوش آمدید!");
// پرسیدن سوال از کاربر
let name = window.prompt("اسمت چیه؟");
console.log("اسمی که کاربر وارد کرده: " + name);
// گرفتن تأییدیه از کاربر
let result = window.confirm("آیا مطمئن هستید که میخواهید ادامه دهید؟");
if (result) {
console.log("کاربر ادامه داد");
} else {
console.log("کاربر لغو کرد");
}
✅ در کل همه اینها یسری از قابلیت های پر کاربرد آبجکت window بودن، به زودی یه پست دیگه درست میکنم تا متد های بیشتری از window رو بررسی کنیم
🌐 مشاهده داکیومنت window
🆔 Channel | Group | YouTube
MDN Web Docs
Window - Web APIs | MDN
The Window interface represents a window containing a DOM document; the document property points to the DOM document loaded in that window.
❤6👍4⚡1🔥1
#javascript #geolocation
💎 گرفتن لوکیشن کاربر با جاوااسکریپت 💎
با استفاده از Geolocation API در جاوااسکریپت میتونید به سادگی موقعیت جغرافیایی کاربر رو دست بیارید و توی بخش های مختلف ازش استفاده کنید.
این API به شما اجازه میده با دریافت اجازه از کاربر، عرض و طول جغرافیایی دقیقش رو به دست بیارید.
نمونه کد 🚀
navigator.geolocation.getCurrentPosition((position) => {
console.log(`
Lat:${position.coords.latitude},
Long:${position.coords.longitude}
`);
});
🌐 مثال استفاده در پروژه واقعی
🆔 Channel | Group | YouTube
🆒7👌4👀2
میدونستید با استفاده از متد vibrate داخل جاوااسکریپت میتونید ویبره گوشی کاربر رو مدیریت کنید ؟
🔸 برای استفاده ازشم کافیه از گلوبال آبجکت navigator متد vibrate رو کال بکنید و به عنوان ورودی بهش مدت زمان ویبره رو به میلیثانیه بهش بدید
نمونه کد 🚀
💎 مشاهده استفاده عملی
🌐 داکیومنت متد vibrate
🔸 برای استفاده ازشم کافیه از گلوبال آبجکت navigator متد vibrate رو کال بکنید و به عنوان ورودی بهش مدت زمان ویبره رو به میلیثانیه بهش بدید
نمونه کد 🚀
navigator.vibrate(200);
💎 مشاهده استفاده عملی
توی پروژه بالا براتون یه مثال عملی از این متد رو براتون گذاشتم 🔺
🌐 داکیومنت متد vibrate
#️⃣ #javascript #vibrate
🚀 @coolycode
👌4🔥2🆒2
●● معرفی
سیمبل (
🚀 مثال عملی
🌐 مشاهده داکیومنت Symbol
Symbol
در جاوااسکریپت ●● سیمبل (
Symbol
) درواقع یک نوع داده ( data type ) در جاوااسکریپت است که برای ایجاد شناسههای منحصر به فرد استفاده میشود. هر Symbol
حتی اگر با همان توضیحات ایجاد شده باشد، یکتا و غیرقابل تکرار است. این ویژگی باعث میشود که Symbol
به خصوص برای تعریف کلیدهای یکتا در اشیاء و جلوگیری از تداخل نامها مفید باشد.🚀 مثال عملی
const sym1 = Symbol('test')
const sym2 = Symbol('test');
console.log(sym1 === sym2); // false
🌐 مشاهده داکیومنت Symbol
#️⃣ #javascript #symbol
🚀 @coolycode
👏6❤3👌1
لیزی لودینگ (Lazy Loading) چیست ؟ 🦥
لیزی لودینگ تکنیکی است که به بارگذاری تأخیری محتوای غیرضروری تا زمانی که کاربر به آن نیاز داشته باشد کمک میکند. به جای اینکه همه منابع (تصاویر، ویدیوها یا کامپوننتهای سنگین) بهصورت همزمان با بارگذاری اولیه صفحه، بارگذاری شوند، این منابع فقط زمانی که کاربر به آنها اسکرول کند یا نیاز داشته باشد، بارگیری میشوند.
✅ ویژگیهای کلیدی لیزی لودینگ
چجوری از لیزی لودینگ استفاده کنیم ... ⁉️😁
🔸 برای استفاده از لیزی لودینگ، میتونید از اتریبیوت HTML5 زیر برای تصاویر استفاده کنید.
🌐 article
🌐 article 2
لیزی لودینگ تکنیکی است که به بارگذاری تأخیری محتوای غیرضروری تا زمانی که کاربر به آن نیاز داشته باشد کمک میکند. به جای اینکه همه منابع (تصاویر، ویدیوها یا کامپوننتهای سنگین) بهصورت همزمان با بارگذاری اولیه صفحه، بارگذاری شوند، این منابع فقط زمانی که کاربر به آنها اسکرول کند یا نیاز داشته باشد، بارگیری میشوند.
✅ ویژگیهای کلیدی لیزی لودینگ
➊ افزایش سرعت بارگذاری اولیه
با بارگذاری محتوای ضروری، صفحات سریعتر لود میشوند.
➋ کاهش استفاده از پهنای باند
چون محتوای غیرضروری بهصورت همزمان لود نمیشود، مصرف داده کاهش مییابد.
➌ بهبود تجربه کاربری
کاربران تجربه بهتری از سرعت و عملکرد صفحه خواهند داشت.
چجوری از لیزی لودینگ استفاده کنیم ... ⁉️😁
🔸 برای استفاده از لیزی لودینگ، میتونید از اتریبیوت HTML5 زیر برای تصاویر استفاده کنید.
<img src="image.jpg" alt="Sample Image" loading="lazy" />
با استفاده از اتریبیوت loading با مقدار lazy، مرورگر تصویر را تنها زمانی که کاربر به آن نزدیک میشود یا به آن نیاز پیدا میکند (مثلاً وقتی اسکرول میکند) بارگذاری میکند.🔸 در فریمورکهایی مانند React.js، میتونید با استفاده از تکنیکهایی مثل React.lazy و Suspense کامپوننتهای غیرضروری زو بهصورت لیزی لود کنید
const LazyComponent = React.lazy(() => import('./MyComponent'));
function App() {
return (
<React.Suspense fallback={<div>Loading...</div>}>
<LazyComponent />
</React.Suspense>
);
}
این کد با استفاده از React.lazy کامپوننت را بهصورت لیزی لود میکند و با کمک Suspense تا زمان بارگذاری کامل، یک پیام یا محتوای موقت (مثل "Loading...") را نمایش میدهد.برای اطلاعات بیشتر در مورد لیزی لودینگ و نحوه استفاده از این تکنیک توی شرایط مختلف پیشنهاد میکنم دو تا مقاله زیر رو مطالعه کنید 💥👇
🌐 article
🌐 article 2
#️⃣ #WhatsThat #lazyloading #javascript
🚀 @coolycode
👏8🔥2 1
💎 بررسی tree shaking در جاوااسکریپت 💎
درواقع Tree Shaking در جاوااسکریپت یک تکنیک بهینهسازیه که کدهای استفاده نشده رو از باندل نهایی حذف میکنه و به طور خاص با ماژولهای ES6 کار میکنه که از دستورهای
چه مزایایی داره ؟ 🚀
با کاهش حجم باندل با حذف کدهای اضافی و استفادهنشده، حجم فایل نهایی کاهش پیدا میکنه و بارگذاری صفحات سریعتر میشه و همچنین باعث میشه تا منابع سیستم کمتر مصرف بشن.
نحوه کار Tree Shaking 📈
درواقع Tree shaking تنها با ماژولهای ES6 کار میکنه، چون این ماژولها به طور ایستا وابستگیهای خودشونو مشخص میکنن ( برای درک بهتر این مقاله رو بخونید )، حالا وقتی که از کدهای
نحوه فعال کردن tree shaking ✅
برای اطلاع از نحوه کارکرد tree-shaking در Webpack و Rollup میتونید از لینک های زیر استفاده کنید
توی این پست سعی کردم به طور کامل tree shaking رو بهتون توضیح بدم، اگر دوست داشتید با ریاکشناتون بهمون انرژی بدید ❤️
درواقع Tree Shaking در جاوااسکریپت یک تکنیک بهینهسازیه که کدهای استفاده نشده رو از باندل نهایی حذف میکنه و به طور خاص با ماژولهای ES6 کار میکنه که از دستورهای
import
و export
برای مدیریت وابستگیها استفاده میکنند.هدف اصلی tree shaking اینه که فقط کدی که واقعاً در برنامه استفاده میشود در باندل نهایی باقی بماند و کدهای اضافی حذف شوند 💥
چه مزایایی داره ؟ 🚀
با کاهش حجم باندل با حذف کدهای اضافی و استفادهنشده، حجم فایل نهایی کاهش پیدا میکنه و بارگذاری صفحات سریعتر میشه و همچنین باعث میشه تا منابع سیستم کمتر مصرف بشن.
نحوه کار Tree Shaking 📈
درواقع Tree shaking تنها با ماژولهای ES6 کار میکنه، چون این ماژولها به طور ایستا وابستگیهای خودشونو مشخص میکنن ( برای درک بهتر این مقاله رو بخونید )، حالا وقتی که از کدهای
import
و export
استفاده میکنیم، ابزارهایی مثل Webpack میتونن بفهمند کدوم بخش از کد ما مورد استفاده قرار نمیگیره و اونها را حذف کنند.نکته ای که وجود داره اینه که جاوااسکریپت به تنهایی نمیتونه tree shaking رو فعال کنه و توسط bundlerهایی مثل webpack و rollup انجام میشه !
نحوه فعال کردن tree shaking ✅
برای اطلاع از نحوه کارکرد tree-shaking در Webpack و Rollup میتونید از لینک های زیر استفاده کنید
🌐 Webpack
🌐 Rollup
#️⃣ #WhtsThat #javascript #bundlesize #tree_shaking #webpack #rollup
🚀 @coolycode
🔥3❤1
تا امروز سعی کردیم که مطالب فوقالعاده کاربردی و با کیفیتی روبرای شما عزیزان تولید کنیم و هم اکنون میتونید به صدها مطلب جذاب در حوزه وب دسترسی داشته باشید 💎
اگر مورد جدیدی به مطالب کانال اضافه بشه داخل این لیست قرار میگیره✅
با توجه به گسترده شدن مطالب کانال کولیکُد تصمیم، گرفتیم که یک دسته بندی مناسبی رو روی تمامی پستهای کانال اعمال کنیم، که میتونید به صورت کامل لیستش رو مشاهده کنید🚀
❓ #WhatsThat : معرفی و بررسی تکنولوژیها
⛏ #tools : ابزار ها و سرویس های کاربردی
👨💻 #programming : مباحث عمومی حوزه تک
🪄 #tricks : تریک و ترفندها
🔗 #website : معرفی وبسایت
📝 #tips : نکات مهم و کاربردی
😆 #fun : فان و سرگرمی
✌️ #javascript : مربوط به جاوااسکریپت
🔵 #css : مربوط به سیاساس
💻 #Frontend : حوزه فرانتاند
🌲 #Backend : حوزه بکند
🔖 #libarary : معرفی لایبرری های کاربردی
💻 #framework : معرفی و بررسی فریمورک
🆚 #VS : مقایسه و بررسی تفاوتها
📗#book : معرفی کتاب
🗣️ #golden_sentence : جملات ناب حوزه تک
🌐 #NEWPost : پست های اینستاگرام
📹 #youtube : ویدیو های چنل یوتوب
🎞 #video : آموزش های ویدیویی
🖥 #uiux : مباحث مربوط به ui, ux
اگر مورد جدیدی به مطالب کانال اضافه بشه داخل این لیست قرار میگیره
راستی میتونید بنرمون رو برای دوستان خودتون ارسال کنید تا اونا هم به جمع ما بپیوندن 🔻
CoolyCode Banner ☕🫰
#category #دسته_بندی
🧑💻 𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤🔥1👌1 1
💎 بررسی
هموطنور که بیشترتون میدونید destructuring در جاوااسکریپت به ما این امکان رو میده که از یک آبجکت یا آرایه به راحتی مقادیر خاصی رو استخراج کنیم
ولی خب احتمالاً خیلی کم راجع به nested object destructuring شنیده باشید. توی این حالت، وقتی آبجکتما شامل آبجکتهای دیگهای به عنوان مقادیرش باشه، میتونیم به راحتی از destructuring برای استخراج دیتای داخل آبجکت تو در تو هم استفاده کنیم
حتماً از این نوع destructuring توی پروژه هاتون استفاده کنید چون باعث میشه که کدتون کوتاهتر و خواناتر بشه ✅
امیدوارم از این مطلب لذت برده باشید، با ریاکشنای خودتون بهمون انرژی بدید ❤️🔥
nested object destructuring
در جاوااسکریپت 💎هموطنور که بیشترتون میدونید destructuring در جاوااسکریپت به ما این امکان رو میده که از یک آبجکت یا آرایه به راحتی مقادیر خاصی رو استخراج کنیم
توی مثال زیر پروپرتی name رو از user اومدیم و destruct کردیم 🔻
const user = { name: 'Mmd', address: { city: 'cool city', } };
const { name } = user; console.log(name); // Mmd
ولی خب احتمالاً خیلی کم راجع به nested object destructuring شنیده باشید. توی این حالت، وقتی آبجکتما شامل آبجکتهای دیگهای به عنوان مقادیرش باشه، میتونیم به راحتی از destructuring برای استخراج دیتای داخل آبجکت تو در تو هم استفاده کنیم
توی مثال زیر پروپرتی city رو به سادگی از address اومدیم و destruct کردیم 🚀
const { name, address: { city } } = user;
console.log(name); // Mmd
console.log(city); // cool city
حتماً از این نوع destructuring توی پروژه هاتون استفاده کنید چون باعث میشه که کدتون کوتاهتر و خواناتر بشه ✅
#️⃣ #javascript #tricks
⭐ 𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
10 ترفند جالب و کاربردی در جاوااسکریپت ✅
➊ کوتاه کردن string با
➋ ساخت آرایه عددی با طول دلخواه
➌ تبدیل string به number
➍ جمع سریع آرایهای از اعداد
➎ بررسی مقدار زوج یا فرد بودن
➏ برعکس کردن String
➑ حذف مقادیر خالی از آرایه
➒ مقایسه سریع دو آرایه
⓿➊ حذف مقادیر تکراری از آرایه
امیدوارم از این مطلب لذت برده باشید، با ریاکشنای خودتون بهمون انرژی بدید ❤️🔥
➊ کوتاه کردن string با
...
const truncate = (str, length) =>
str.length > length ? str.slice(0, length) + "..." : str;
console.log(truncate("JavaScript Tricks", 10)); // "JavaScript..."
➋ ساخت آرایه عددی با طول دلخواه
const array = Array.from({ length: 5 }, (_, i) => i + 1);
console.log(array); // [1, 2, 3, 4, 5]
➌ تبدیل string به number
const num = +"42";
console.log(num); // 42
➍ جمع سریع آرایهای از اعداد
const numbers = [1, 2, 3, 4];
const sum = numbers.reduce((total, num) => total + num, 0);
console.log(sum); // 10
➎ بررسی مقدار زوج یا فرد بودن
const isEven = (num) => num % 2 === 0;
console.log(isEven(4)); // true
➏ برعکس کردن String
const reverseString = (str) => str.split("").reverse().join("");
console.log(reverseString("hello")); // "olleh"
پیشنهاد : این مورد رو خودتون سعی کنید بدون استفاده از متد های آماده جاوااسکریپت بسازید جالبه و ساده ؛)➐ تبدیل شرط چندگانه به شیوهای تمیزتر
const getDay = (day) => ({
1: "Monday",
2: "Tuesday",
3: "Wednesday",
}[day] || "Invalid day");
console.log(getDay(1)); // "Monday"
➑ حذف مقادیر خالی از آرایه
const arr = [0, null, undefined, "", 5];
const filtered = arr.filter(Boolean);
console.log(filtered); // [5]
➒ مقایسه سریع دو آرایه
const arraysAreEqual = (a, b) => JSON.stringify(a) === JSON.stringify(b);
console.log(arraysAreEqual([1, 2], [1, 2])); // true
⓿➊ حذف مقادیر تکراری از آرایه
const unique = [...new Set([1, 2, 2, 3])];
console.log(unique); // [1, 2, 3]
#️⃣ #tricks #javascript
🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
🔥14👨💻1
💎 آشنایی با ORMها، چی هستد و به چه کاری میان 💎
کلمه ORM و یا همون Object-Relational Mapping ابزاریه که به شما این امکان رو میده تا با استفاده از زبان های برنامهنویسی شیگرا، به راحتی با دیتابیس کار بکنید.
✅ مزایای ORMها
➊ کاهش کد نویسی
➋ افزایش خوانایی کد
➌ قابلیتهای جابجایی
➍ مدیریت خودکار ریلیشنها
❌ معایب ORMها
➊ عملکرد کمتر
➋ پیشرفته بودن برای مبتدیان
➌ محدودیتهای عملکردی
💯 بهترین ORM ها برای Node.js
1. Sequelize
2. TypeORM
کلمه ORM و یا همون Object-Relational Mapping ابزاریه که به شما این امکان رو میده تا با استفاده از زبان های برنامهنویسی شیگرا، به راحتی با دیتابیس کار بکنید.
یعنی دیگه نیازی نیست خودتون به صورت دستی به نوشتن کوئریهای پیچیده با sql خام بپردازید و میتونید تمرکز بیشتری رو روی منطق برنامهنویسی داشته باشید 💥
✅ مزایای ORMها
➊ کاهش کد نویسی
با استفاده از ORM، نیاز به نوشتن کد SQL کاهش پیدا میکنه و عملیات دیتابیس به صورت خودکار انجام میشه
➋ افزایش خوانایی کد
کد ORM بیشتر به زبان برنامهنویسی شما نزدیکه و فهم اون سادهتره.
➌ قابلیتهای جابجایی
با ORM میتونید به سادگی از یک دیتابیس به یک دیتابیس دیگه منتقل شد.
➍ مدیریت خودکار ریلیشنها
با ORM ها مدیریت روابط ( ریلیشنها ) بین جداول مختلف خیلی ساده تر میشه
❌ معایب ORMها
➊ عملکرد کمتر
برای برخی از عملیاتهای پیچیده مثل گذارش گیری ها ممکنه کارایی کمتری نسبت به نوشتن کد SQL خالص داشته باشن.
➋ پیشرفته بودن برای مبتدیان
درک کامل عملکرد ORM و چگونگی کارکرد اون میتونه برای برخی از دولوپرهای تازهکار سخت تر باشه.
➌ محدودیتهای عملکردی
برای سناریوهایی با نیازهای خاص و پیچیده، ممکنه ORM همه نیازهای مارو برآورده نکنه.
💯 بهترین ORM ها برای Node.js
1. Sequelize
یک ORM قدرتمند برای Node.js و دیتابیس های SQL با پشتیبانی از تعریف مدل، روابط پیچیده، و Migration.
2. TypeORM
به شخصه typeorm رو برای NestJS توصیه میکنم چون فوقالعاده مناسب برای TypeScript هستش که از database های SQL و NoSQL پشتیبانی میکنه.3. Mongoose
این یکی برای MongoDB بهکار میره و درواقع ODM هستش که با Schemaها، Middleware و قابلیت Validation، مدیریت دیتای NoSQL رو براتون اسون تر میکنه.4. Prisma
یک ORM مدرن و TypeScript-friendly برای دیتابیس های SQL با تمرکز بر سرعت، Type-Safty کوئریها.
#️⃣ #lazyloading #javascript
🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
🔥20👌2😎2