توضیحات جلسه عالی بود از مباحث لذت بردم و چند نکته رو خواستم به صورت تکمیلی اینجا ذکر کنم :
اول ( در خصوص iterable کردن object ) :
به نظرم با استفاده از generator functionها بهتر و راحتتر باشه :
let obj = {
username: "MohammadShokri",
password: "4sfd654f65sd4f6s4df",
*[Symbol.iterator]() {
yield this.username;
yield this.password;
},
};
for (let i of obj) {
console.log(i);
}
دوم (استفاده از عملگر ?? به جای || ) :
که داخل nullish coalescing operator مقادیر رو به جای truth بودن بر اساس تعریف شدن (null and undefiend) بودن بررسی میکنه :
let a = 0;
a || "Anonymous" // Anonymous
a ?? "Anonymous" // 0
سوم (استفاده از rest parms به جای arguments ) :
برای زمانی که نمیدونیم تعداد ورودی چندتا میتونه باشه :
function test (...params) {
//code goes here...
}
و چهارم ( استفاده کردن از Destructuring Assignment برای زمانی که نمیخوایم ترتیب وارد شدن پارامترها رعایت شن)
function test({ a, b, c = 6 }) {
return a + b + c;
}
console.log(test({ b: 7, a: 3 })); // 16
console.log(test({ c: 7, a: 2, b: 9 })); //18
با تشکر از جناب دادخواه ?♂️