פיזבז לביזבז – היום במקום אז

במאמר הקודם ראינו איך אפשר לייצר פונקציה גמישה, שמחזירה את הערך שאנחנו רוצים.

אפשר היה לסלוח לכם אם הייתם מסתפקים בזה בשנת 2016. אבל שנים חלפו מאז והתקן השתנה לטובה. אנחנו נשתמש בכל מיני תכונות טובות שנותן לנו ES6.

דבר ראשון בואו ניפטר מ-var. אפילו בכדורגל שונאים אותו.

נראה שזה בסדר, אבל רגע אחד. איך זה שאני משתמש בקבוע, אבל עדיין משנה את הערך שלו? שאלה טובה, תודה ששאלתם. כאשר מדובר בערך פשוט כגון מספר, מחרוזת, או בוליאני, אי אפשר לשנות את הערך של קבוע. אבל כאשר מדובר על אובייקט, או מערך, ניתן לשנות את התכולה שלו, כל עוד לא מנסים לשים אובייקט חדש לגמרי.

טיפ מקצועי: נסו להשתמש ב-const כמה שרק אפשר. הוא יישמור עליכם מפני מחיקה לא רצויה של ערך.

תוכלו ללמוד על let ועל const כאן.

כעת הפונקציה שלנו נראית יותר מודרנית מבפנים, אבל כלפי חוץ היא ענתיקה. נתקן עם פונקציית חץ.

בינינו זה לא משנה אם אתם משתמשים בפונקציה רגילה או חץ כאן. אין לנו שימוש ב-this ולכן התוצאה תהיה זהה. אבל אנחנו רוצים ללכת עם הזמן, אז זהו.

הקורבן הבא בתור הוא הפרמטר של הפונקציה. כמה נחמד היה אם היינו יכולים להשתמש בקבועים שמייצגים את הערכים שמעניינים אותנו בתוך אובייקט params. משהו כזה:

const from = params.from
const to = params.to

אבל יש פתרון יותר טוב שנקרא destructuring, והוא מאפשר לנו לפרק את התכולה של אובייקט ישירות לתוך משתנים (או קבועים) משלנו. ככה:

זה נהדר. במגבלה אחת קטנה יחסית. אי אפשר להגדיר את המשתנים החדשים שלנו בתור קבועים, אם הפעולה מתבצעת על פרמטר בפונקציה. ייתכן שזה יתוקן בעתיד. אבל בהחלט אפשר לעשות ככה:

אישית אני מעדיף את הפתרון הראשון.

אני כבר רואה אתכם רצים למזרקה בכיכר רבין לחגוג את ההישג, אבל שניה אחת. לפני זה תנסו לקרוא לפונקציה ללא שום פרמטר. מה יקרה? יהיה עצוב…

…אבל פתיר:

אז פתרנו את הבעיה תוך שימוש באובייקט ריק. אבל האם לא היה נחמד אם היינו יכולים להריץ את הפונקציה עם ברירות המחדל של פיזבז המקורית?

yes oui כן!

פותחים שמפניה!

יש לנו פונקציה מודרנית, מוגנת מפני טעויות, ניתנת להרחבה. סיבה למסיבה, לא?

מה, לא?

למה לא נעצרים כאן? במאמר הבא…

כתיבת תגובה