بررسی برخی فیچر های جدید جاوا اسکریپت (ES14) ✌️
اکما اسکریپت ۱۴ موجی از ویژگیهای هیجانانگیز و در سال ۲۰۲۳ به نمایش گذاشت تا تجربهی بهتری از برنامه نویسی با جاوا اسکریپت داشته باشید.
تو این پست برخی از متد های جدیدی که به جاوااسکریپت اضافه شده رو بررسی میکنیم.
1⃣ متد findLast
این متد در پروتوتایپ تمامی آرایه ها قابل دسترسی هست (به عنوان مثال Array.prototype.findLast) و به طور مشابه به متد find عمل میکنه و برای یافتن یک عضو در آرایه استفاده میشه. با این تفاوت که جستجو رو از انتهای آرایه شروع میکنه.
2⃣ متد toSorted
این متد نیز مشابه متد sort هست. این دو متد برای مرتبسازی اعضای یک آرایه استفاده میشن، با این تفاوت که متد toSorted آرایه اصلی و تغییر نمیده و خروجی اون یک آرایه جدید از اعضای مرتبشده هست.
3⃣ متد toReversed
این متد نیز مشابه متد reverse عمل میکنه که برای معکوس کردن اعضای یک آرایه استفاده میشود، با این تفاوت که متد toReversed آرایهٔ اصلی و تغییر نمیده، بلکه خروجی اون یک آرایه جدید از اعضای معکوس شده هست.
4⃣ متد with
این متد به ما اجازه میده که یک عضو از آرایه رو با یک مقدار دیگه جایگزین کنیم، بدون اینکه آرایه اصلی و تغییر بدیم. این متد دو ورودی میگیره: ورودی اول که شماره ایندکس مورد نظر برای جایگزینی هست، و ورودی دوم مقدار جدید مورد نظر هست.
5⃣ متد groupBy
با استفاده از متد groupBy، میتونیم اعضای یک آرایه رو بر اساس یک ویژگی مشترک بین آنها گروهبندی کنیم. نکتهای که دربارهی groupBy وجود داره اینه که بر خلاف متدهای بالا، این متد به صورت استاتیک در دسترس، و مستقیماً از شیء Object Global قابل دسترسی هست.
#javascript #es14
@CodeModule
اکما اسکریپت ۱۴ موجی از ویژگیهای هیجانانگیز و در سال ۲۰۲۳ به نمایش گذاشت تا تجربهی بهتری از برنامه نویسی با جاوا اسکریپت داشته باشید.
تو این پست برخی از متد های جدیدی که به جاوااسکریپت اضافه شده رو بررسی میکنیم.
این متد در پروتوتایپ تمامی آرایه ها قابل دسترسی هست (به عنوان مثال Array.prototype.findLast) و به طور مشابه به متد find عمل میکنه و برای یافتن یک عضو در آرایه استفاده میشه. با این تفاوت که جستجو رو از انتهای آرایه شروع میکنه.
const array1 = [5, 12, 50, 100, 44];const found = array1.findLast((element) => element > 45);
console.log(found);//Output: 100
این متد نیز مشابه متد sort هست. این دو متد برای مرتبسازی اعضای یک آرایه استفاده میشن، با این تفاوت که متد toSorted آرایه اصلی و تغییر نمیده و خروجی اون یک آرایه جدید از اعضای مرتبشده هست.
const sortedNumbers = numbers.toSorted((a, b) => a - b)
console.log(sortedNumbers) // Output: [1, 2, 3, 4, 5]
// common mistake using numbers
const nums2 = [0, 15, 5, 10, 20]
const sortedNums2 = nums2.toSorted()
console.log(sortedNums2) // Output: [0, 10, 15, 20, 5]
این متد نیز مشابه متد reverse عمل میکنه که برای معکوس کردن اعضای یک آرایه استفاده میشود، با این تفاوت که متد toReversed آرایهٔ اصلی و تغییر نمیده، بلکه خروجی اون یک آرایه جدید از اعضای معکوس شده هست.
const originalArray = [1, 2, 3, 4, 5];
// toReversed
const newArray = originalArray.toReversed();
console.log(originalArray); // Output: [1, 2, 3, 4, 5] the array is unmodified
console.log(newArray); // Output:[5, 4, 3, 2, 1]
این متد به ما اجازه میده که یک عضو از آرایه رو با یک مقدار دیگه جایگزین کنیم، بدون اینکه آرایه اصلی و تغییر بدیم. این متد دو ورودی میگیره: ورودی اول که شماره ایندکس مورد نظر برای جایگزینی هست، و ورودی دوم مقدار جدید مورد نظر هست.
const numbers = [1, 2, 9999, 4];
const result = numbers.with(2, 3);
console.log(result); // [1, 2, 3, 4]
با استفاده از متد groupBy، میتونیم اعضای یک آرایه رو بر اساس یک ویژگی مشترک بین آنها گروهبندی کنیم. نکتهای که دربارهی groupBy وجود داره اینه که بر خلاف متدهای بالا، این متد به صورت استاتیک در دسترس، و مستقیماً از شیء Object Global قابل دسترسی هست.
const inventory = [
{ name: "asparagus", type: "vegetables", quantity: 5 },
{ name: "bananas", type: "fruit", quantity: 0 },
{ name: "goat", type: "meat", quantity: 23 },
]
function myCallback({ quantity }) {
return quantity > 5 ? "ok" : "restock"
}
const result2 = Object.groupBy(inventory, myCallback);
#javascript #es14
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5⚡3❤🔥2👌2