Spread ו-Rest
שיעור 5 מתוך 9 בקורס החלקים המאתגרים ב-JavaScript מודרני (ES6+) של Coddy.
ב-Javascript, אפשר להשתמש באופרטור יחיד
<strong>...</strong>(שלוש נקודות) לשני סוגי פעולות!
פריסה
אפשר להשתמש ב-<strong>...</strong> כדי להעביר איברים של מערך, כפרמטרים נפרדים לפונקציה
let array1 = [1,2,3];
Math.max(...array1); // בדיוק כמו Math.max(1,2,3)משתמשים בו גם כדי להעתיק מערך למערך אחר, או להעתיק מאפיינים של אובייקט מילולי אחד לאובייקט מילולי אחר.
let arr1 = [1,2,3];
let arr2 = [6,7,8];
let final = [...arr1, 4, 5, ...arr2]; // [1,2,3,4,5,6,7,8]
let obj1 = {name:"Shubham"};
let obj2= {work: "Software Development"};
let finalObj = {...name,...work}; // {name:"Shubham",work:"Software Development"}שארית
אפשר להשתמש ב-<strong>...</strong> כדי לאסוף את כל הפרמטרים הנותרים (rest) של פונקציה למערך
function sum(a,b,...rest){
console.log("rest parameters : ", rest);
}
sum(1,2,3,4,5,6) //פרמטרי rest: [3,4,5,6]פרמטרים מסוג rest צריכים תמיד להיות הפרמטרים האחרונים. function sum(a, ...rest , b){ } לא יעבוד.
אתגר
קלכתבו פונקציה להעתקת מאפיינים גם מ־obj1 וגם מ־obj2 ולהחזרת האובייקט החדש שמכיל את המאפיינים של שני האובייקטים.
נסו בעצמכם
function combineObjects(obj1, obj2) {
// כתבו כאן קוד
}כל השיעורים ביחידה החלקים המאתגרים ב-JavaScript מודרני (ES6+)
2בואו נצלול פנימה
תחום בלוק – let ו-constפונקציות חץSpread ו-Restלולאת for...ofמחלקותPromisesAsync ו-Awaitתרגלו בעצמכם: קומפיילר JavaScript אונליין