Code Module | کد ماژول
1.91K subscribers
357 photos
42 videos
6 files
355 links
Hello World 🌎

<> Earth is programmable if you code it </>

Group 👇🏻
@CodeModuleGap

Contact Us 👇🏻
@MrShahiin
@neoMahan
Download Telegram
معرفی چند عملگر جاوا اسکریپتی که احتمالا از کاربرد اون بی خبری! ✌️


🔵عملگر in

اولین عملگری که قراره بررسی کنیم عملگر in هست که با استفاده از این عملگر میتونیم بررسی کنیم که آیا یک key (همان نام خاصیت ها در آبجکت های ما) در شی ما وجود داره یا نه:

const obj = {
name: ″shahin″
id: 1
}

if (″name″ in obj) {
console.log(″name is exist″)
}



🔵عملگر void

عملگر void کلیدواژه‌ای هست که یک گزاره رو ارزیابی می‌کنه و در نهایت مقدار undefined و برگشت میده. به مثال زیر توجه کنید:

   logger() { 
return 89
}
}

const d = new D

log(void d.logger()) // unde


همونطور که می‌بینید متد لاگر باید مقدار 89 رو برگشت بده، اما کلیدواژه void اونو تهی می‌کنه و به جای مقدار اصلی، مقدار تعریف نشده بازگشت میده. عملگر void موقعی استفاده میشه که مطمئن بشیم یک مقدار تعریف نشده واقعی به دست میاریم.


🔵عملگر delete

ساده‌ترین روش برای حذف مقداری از آرایه، استفاده از کلیدواژه Delete هست. برای این کار فقط به نام متغیر و ایندکسی که می‌خواید پاک کنید، نیاز دارید:

let numbers = [1,2,3,4]; 
delete numbers[1];
console.log(numbers); // [1, undefined, 3, 4]


البته در زمان استفاده از این روش باید مراقب باشید، زیرا گرچه این متد ساده به نظر میاد، اما در اغلب موارد موجب بروز سردرگمی میشه.


#operators #javascript
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3👌3
۷۰ سوال مصاحبه ای جاوا اسکریپت و میتونید تو pdf زیر مشاهده کنید⬇️

https://lnkd.in/eHEaJtH6

#javascript
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥2👌2
آشنایی با weakSet و weakMap در ✌️

در جاوا اسکریپ دو تا ساختمان داده ی دیگه به اسم های WeakMap و WeakSet وجود داره که مشابه Map و Set هستن، با این تفاوت که تنها Object و آرایه و Non-Registered Symbol ها رو به عنوان Key قبول می کنند، اینجوری وقتی که Key مقدار Null بگیره از طریف WeakMap یا WeakSet هم قابل دسترسی نخواهد بود و Garbage-Collector محتوای اون رو از حافظه پاک میکنه.

مثالی از WeakMap:

let weakMap = new WeakMap();

let key1 = {id: 1};
let key2 = {id: 2};
let key3 = {id: 3};

weakMap.set(key1, "Value associated with key1");
weakMap.set(key2, "Value associated with key2");

console.log(weakMap.get(key1)); // Output: Value associated with key1

key1 = null; // حذف مرجع key1

// حالا حافظه رو بررسی کنید، ممکنه مقدار مرتبط با key1 حذف بشه چون دیگه هیچ مرجعی بهش اشاره نمی‌کنه


مثالی از WeakSet:

let weakSet = new WeakSet();

let obj1 = {name: "Alice"};
let obj2 = {name: "Bob"};
let obj3 = {name: "Charlie"};

weakSet.add(obj1);
weakSet.add(obj2);

console.log(weakSet.has(obj1)); // Output: true

obj1 = null; // حذف مرجع obj1

// حالا حافظه رو بررسی کنید، ممکنه obj1 از WeakSet حذف بشه چون دیگه هیچ مرجعی بهش اشاره نمی‌کنه


در کل توی پروژه های بزرگ که بهینه سازی در حد چند خط هم مهمه از این دو ساختار استفاده میشه.
مثال و اطلاعات بیشتر و میتونید تو داکیومنت زیر مطالعه کنید⬇️

Document 🌐

#javascript #weakset #weakmap
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👌2
بررسی برخی فیچر های جدید جاوا اسکریپت (ES14) ✌️

اکما اسکریپت ۱۴ موجی از ویژگی‌های هیجان‌انگیز و در سال ۲۰۲۳ به نمایش گذاشت تا تجربه‌ی بهتری از برنامه نویسی با جاوا اسکریپت داشته باشید.

تو این پست برخی از متد های جدیدی که به جاوااسکریپت اضافه شده رو بررسی میکنیم.

1⃣ متد findLast
این متد در پروتوتایپ تمامی آرایه‌ ها قابل دسترسی هست (به عنوان مثال Array.prototype.findLast) و به طور مشابه به متد find عمل می‌کنه و برای یافتن یک عضو در آرایه استفاده میشه. با این تفاوت که جستجو رو از انتهای آرایه شروع می‌کنه.
const array1 = [5, 12, 50, 100, 44];const found = array1.findLast((element) => element > 45);
console.log(found);//Output: 100


2⃣متد toSorted
این متد نیز مشابه متد 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]


3⃣ متد toReversed
این متد نیز مشابه متد 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]


4⃣ متد with
این متد به ما اجازه میده که یک عضو از آرایه رو با یک مقدار دیگه جایگزین کنیم، بدون اینکه آرایه اصلی و تغییر بدیم. این متد دو ورودی می‌گیره: ورودی اول که شماره ایندکس مورد نظر برای جایگزینی هست، و ورودی دوم مقدار جدید مورد نظر هست.
const numbers = [1, 2, 9999, 4]; 
const result = numbers.with(2, 3);
console.log(result); // [1, 2, 3, 4]


5⃣متد groupBy
با استفاده از متد groupBy، می‌تونیم اعضای یک آرایه رو بر اساس یک ویژگی مشترک بین آن‌ها گروه‌بندی کنیم. نکته‌ای که درباره‌ی groupBy وجود داره اینه که بر خلاف متدهای بالا، این متد به صورت استاتیک در دسترس، و مستقیماً از شیء Object Global قابل دسترسی هست.
 const inventory = [ 
{ name: &quotasparagus&quot, type: &quotvegetables&quot, quantity: 5 },
{ name: &quotbananas&quot, type: &quotfruit&quot, quantity: 0 },
{ name: &quotgoat&quot, type: &quotmeat&quot, quantity: 23 },
]

function myCallback({ quantity }) {
return quantity > 5 ? &quotok&quot : &quotrestock&quot
}

const result2 = Object.groupBy(inventory, myCallback);


#javascript #es14
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53❤‍🔥2👌2
آقای صدا، Howler.js 🔊

کتابخانه Howler.js، یک کتابخانه صدا هست که کار کردن با صدا رو در JavaScript و در تمام پلتفرم‌ها، ساده و قابل اطمینان می‌کنه.

این کتابخانه به شما در مواردی مثل پخش صدا و اضافه کردن افکت های صوتی به وب سایت، کمک میکنه. به عنوان مثال پخش صدا زمانی که شما یک پیغام خطا یا یک پیام دیگر رو دریافت میکنید. این قابلیت ها خیلی راحت و با چند خط کد توسط howler در اختیار ما قرار میگیره. حتی میتونید با استفاده از این کتابخانه یک پلیر موزیک هم داشته باشید 💀


ویژگی های کتابخانه Howler.js ⬇️


🔵پشتیبانی از پخش صداهای مختلف مثل MP3، WAV و OGG

🔵امکان به کار گیری بسیار ساده برای پخش، توقف، توقف موقت و مکث از طریق رابط کاربری خط فرمان

🔵پشتیبانی از قابلیت‌های پیشرفته مثل استفاده از صداها به صورت پویا، تنظیم میزان صدا و موقعیت در صدا، اعمال افکت‌های صوتی و زمان‌بندی دقیق

🔵معماری ماژولار Howler.js به شما کمک میکنه تا به سادگی از این کتابخانه استفاده، و اونو گسترش بدید، در نتیجه میتونید امکانات سفارشی بیشتری اضافه کنید.

پیشنهاد میکنم یه سر به داکیومنت این کتابخانه جذاب بزنید ⚡️

Document 🌐

#howler #javascript
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥10👌5🔥4😁2