💎 بررسی
هموطنور که بیشترتون میدونید 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
⭐ 𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
💎 استخراج نوع آیتم از یک آرایه در
فرض کنید، یک DataType مشخص دارید (مثلاً از یک API) و دیتای شما به شکل آرایهای از آبجکتها هست و میخواید فقط تایپ آیتمهای این آرایه رو استخراج کنید بدون اینکه تایپ آیتم از قبل به صورت جدا تعریف شده باشه، توی این پست قراره با یه مثال ساده به حل کردن این مسئله بپردازیم ✅
کد اولیه ما به این شکله 🔻
حالا برای استخراج نوع آیتم های آرایه
📊 جمع بندی
حالا شاید پیش خودتون بگید که چرا باید از این روش استفاده بکنم ؟ چرا اصلا نیام و به صورت جدا تعریف بکنم تایپ
امیدوارم از این مطلب لذت برده باشید، با ریاکشنای خودتون بهمون انرژی بدید ❤️🔥
Typescript 💎فرض کنید، یک DataType مشخص دارید (مثلاً از یک API) و دیتای شما به شکل آرایهای از آبجکتها هست و میخواید فقط تایپ آیتمهای این آرایه رو استخراج کنید بدون اینکه تایپ آیتم از قبل به صورت جدا تعریف شده باشه، توی این پست قراره با یه مثال ساده به حل کردن این مسئله بپردازیم ✅
کد اولیه ما به این شکله 🔻
type GetAllUsersResponse = {
getAllUsers: Array<{
id: number;
name: string;
email: string;
}>;
};
const response: GetAllUsersResponse = {
getAllUsers: [ ... ],
};حالا برای استخراج نوع آیتم های آرایه
getAllUsers، میتونیم از [number] استفاده کنیم 🔻type UserItem = GetAllUsersResponse['getAllUsers'][number];
وقتی که [number] جلوی یک تایپ آرایه قرار میگیره، به typescript میگه که فقط نوع آیتم آرایه رو میخوام ✅📊 جمع بندی
حالا شاید پیش خودتون بگید که چرا باید از این روش استفاده بکنم ؟ چرا اصلا نیام و به صورت جدا تعریف بکنم تایپ
User رو ؟ 🤔درواقع این چالش بیشتر توی مواردی به وجود میاد که DataType شما مشخصه از قبل، مثل وقتی که از Graphql Codegen توی پروژتون استفاده میکنید، Codegen درواقع کارش اینه که Schema GraphQL رو به صورت اتومات به typescript تبدیل کنه تا دیگه مجبور نباشید تایپ ریسپانس API رو خودتون تعریف کنید.
یکی دیگه از دلایلی که عاشق گرفکیوالم :)
#️⃣ #typescript #tricks
🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
🔥5 3👌2
برای اینکه بفهمید چند خط کد توی ریپازیتوری گیت شما زده شده میتونید از دستور زیر استفاده کنید، نتیجش میتونه واقعا جالب باشه 🔥
دستور زیر هم لیست تمامی فایلهای ریپو رو به همراه تعداد خط کد هر کدوم لیست میکنه و در نهایت هم جمع کلشون رو نشون میده.
🚀 @coolycode
git ls-files | xargs wc -l | tail -n 1
دستور زیر هم لیست تمامی فایلهای ریپو رو به همراه تعداد خط کد هر کدوم لیست میکنه و در نهایت هم جمع کلشون رو نشون میده.
bash git ls-files | xargs wc -l
#git | #tricks
🔥7⚡1
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
#tricks
چند سالت بود که فهمیدی اگر تو VSCode موقع اسکرول کردن تو کدا کلید
𝗔𝗟𝗧 رو نگه داری سرعت اسکرول چند برابر میشه ...🔥25🤣4❤🔥1
ویاسکدتو باز کن 🫵
الان نه تنها یه شورت کات کاربردی اضافه کردی، بله دیگه میتونی هر شورت کاتی که میخوای رو ست کنی رو VSCode ✅
➖➖➖➖➖➖➖➖➖
روی ایکون ستینگ پایین کلیک کن ⚙️
روی گزینه Keyboard Shortcuts بزن ⌨️
توی قسمت سرچ بنویس 🔻
Transform to Uppercase حالا روی ستون Keybinding کلیک کن 🖱️
شورت کات مد نظرت رو وارد کن
در نهایت کلید Enter رو بزن ✅بوم، الان اگر هر متنی رو سلکت کنی کافیه فقط شورتکاتی که ست کرده بودی رو بزنی تا اون متن رو UPPERCASE کنه 💥
الان نه تنها یه شورت کات کاربردی اضافه کردی، بله دیگه میتونی هر شورت کاتی که میخوای رو ست کنی رو VSCode ✅
#tips | #tricks
𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
➖➖➖➖➖➖➖➖➖
😍13❤🔥3👌2
یه ترفند خفن و فوقالعاده کاربردی در Tailwind CSS که شاید ندونی 🫵
ممکنه شما هم نیاز پیدا کنید که وقتی موس روی والد یک المان میره استایل های اون المان تغییر پیدا بکنه، توی تیلویند با استفاده از group و group-hover این کار امکان پذیره ✅
حالا چجوری ⁉️
➖➖➖➖➖➖➖➖➖
ممکنه شما هم نیاز پیدا کنید که وقتی موس روی والد یک المان میره استایل های اون المان تغییر پیدا بکنه، توی تیلویند با استفاده از group و group-hover این کار امکان پذیره ✅
حالا چجوری ⁉️
<div class="group">
هاور کن ببین چی میشه!
<div class="opacity-0 group-hover:opacity-100 transition">
🎉 سورپرایز!
</div>
</div>
توی کد بالا وقتی موس روی div والد با کلاس group میره، div فرزند که به طور پیشفرض با opacity-0 مخفی شده، به آرامی توسط کلاس group-hover:opacity-100 نمایان میشه و محتویاتش رو نشون میده.
و برای برای ایجاد افکت نرم از transition استفاده کردیم که میتونید خودتون بیشتر راجبش بخونید. ( more )
#tips | #tricks | #tailwind
𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
➖➖➖➖➖➖➖➖➖
🔥12❤4👌1
10 شورتکات ضروری VS Code برای که سرعتتون رو به شدت بالا میبره 🚀
📂 Ctrl + P
📚 Ctrl + B
💡Ctrl + Space
🔗 Ctrl + Shift + L
امیدوارم از این مطلب لذت برده باشید، با ریاکشنای خودتون بهمون انرژی بدید ❤️🔥
➖➖➖➖➖➖➖➖➖
📂 Ctrl + P
باز کردن سریع هر فایل📝 Ctrl + /
با این میانبر میتونی خیلی راحت اسم فایل موردنظرت رو تایپ کنی و مستقیماً اون رو باز کنی.
کامنت/آنکامنت کردن یک خط↕️ Alt + ↑ / ↓
این ترکیب بهت کمک میکنه که یک خط رو بهسرعت کامنت یا آنکامنت کنی، بدون نیاز به تایپ دستی //.
جابهجا کردن یک خط به بالا یا پایین❌ Ctrl + Shift + K
اگر بخوای بدون کپی/پیست کردن، یک خط رو بالا یا پایین ببری، این میانبر خیلی کاربردیه.
حذف خط جاری
با این ترکیب میتونی کل خطی که نشانگر روشه رو بدون انتخاب حذف کنی.
📚 Ctrl + B
نمایش یا مخفی کردن سایدبار
با این میانبر سریع سایدبار رو باز و بسته کن تا فضای بیشتری برای کدنویسی داشته باشی.
💡Ctrl + Space
فعال کردن IntelliSense برای پیشنهادات کد🔍 Ctrl + Shift + F
اگر در حال کدنویسی هستی و پیشنهادهای خودکار نمایش داده نشدن، این میانبر کمک میکنه دوباره اونها رو ببینی.
جستجو در کل پروژه📑 Ctrl + D
این میانبر بهت امکان میده که در کل فایلهای پروژه دنبال متن یا کدی خاص بگردی.
انتخاب بعدیِ کلمهای که هایلایت شده
اگه بخوای چند کلمه مشابه رو یکییکی انتخاب کنی، این ترکیب فوقالعادهست.
🔗 Ctrl + Shift + L
انتخاب تمام موارد مشابه در متن📜 Ctrl + Shift + P
این میانبر همهی نمونههای یک کلمه در فایل رو یکجا انتخاب میکنه تا بتونی همه رو همزمان تغییر بدی.
باز کردن Command Palette
با این ترکیب میتونی به همهی دستورات و قابلیتهای VS Code دسترسی داشته باشی.
#vscode #tricks
𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
➖➖➖➖➖➖➖➖➖
❤16👌4
10 شورتکات ضروری VS Code که سرعتتون رو به شدت بالا میبره ( پارت 2 ) 🚀
✏️ Ctrl + F2
💻 Ctrl + J
❌ Ctrl + W
↕️ Alt + Shift + ↑ / ↓
🔳 Ctrl + Alt + جهتها
امیدوارم از این مطلب لذت برده باشید، با ریاکشنای خودتون بهمون انرژی بدید ❤️🔥
➖➖➖➖➖➖➖➖➖
✏️ Ctrl + F2
تغییر نام همهی متغیرهای مشابه
اگر بخوای یک متغیر رو در کل فایل تغییر نام بدی، این میانبر کار رو خیلی راحت میکنه.
💻 Ctrl + J
نمایش یا مخفی کردن ترمینال داخلی
ترمینال داخلی VS Code رو با این ترکیب سریع باز و بسته کن.
❌ Ctrl + W
بستن تب فعلی🔎 Ctrl + Shift + E
بهجای کلیک روی دکمهی بستن کنار فایل، این میانبر رو بزن و سریعتر تبهای اضافی رو ببند.
فوکوس روی فایل اکسپلورر❗Ctrl + Shift + M
اگر فایل اکسپلورر بسته شده یا فوکوس روی بخش دیگهایه، با این ترکیب سریع بهش برگرد ؛)
نمایش پنل PROBLEMS
اگر کدت اروری داشته باشه، این ترکیب سریع لیست خطاها رو نشون میده.
↕️ Alt + Shift + ↑ / ↓
کپی کردن یک خط در بالا یا پایین
بهجای Copy/Paste، با این میانبر سریعتر میتونی یک خط رو بالا یا پایین کپی کنی.
🔳 Ctrl + Alt + جهتها
تقسیم پنجرهی ادیتور
اگه بخوای چندین فایل رو کنار هم باز داشته باشی، با این میانبر میتونی ادیتور رو تقسیم کنی
#vscode #tricks
𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
➖➖➖➖➖➖➖➖➖
❤19🔥2😍1