Logical Assignment Operator

תוספת לתקן החדש בג'אווהסקריפט שעוזרת מאוד בהתמודדות עם השמות. במיוחד להגדרות ברירת מחדל

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

אז בואו ונתחיל. אנחנו מכירים את האופרטורים האלו, נכון?

&& – גם. למשל a && b זה גם a וגם b.
|| – או. למשל a || b זה או a או b.
?? – הכוכב החדש בשכונה (כן, שני סימני שאלה) עם השם Nullish Coalescing operator – שזה כמו || אבל גם לערכי false או null. הוא נכנס ב-ES2020.

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

let y = 5;
let x = 10;

if(x) {
  x = y
}

console.log(x); // 5

הוא די פשוט. אבל אני יכול לכתוב אותו באופן שונה. עם אופרטור לוגי:

let y = 5;
let x = 10;

x && (x = y);

console.log(x); // 5

מה זה אומר? קוד קצת לא אינטואטיבי. אני בעצם אומר יש x? אז יש גם x = y ומבצע את ההשמה. עכשיו בתקן החדש אני יכול לכתוב ככה:

let y = 5;
let x = 10;

x &&= y;

console.log(x); // 5

וזה האופרטור. אם יש x, אז תכניס לתוכו את הערך של y. הכי פשוט שיש. אם אין x? ההשמה לא תתבצע ו-x יישאר undefined.

האופרטור =&& שימושי מאוד אם אנו רוצים לדרוס משהו קיים.

אנו יכולים להשתמש באופרטור ||, וזה קצת יותר שימושי

let y = 5;
let x = false; // or undefined, or null

x ||= y;

console.log(x); // 5

במקרה הזה, אם x הוא undefined או false או null או אפס – תתבצע השמה.

כלומר האופרטור =|| שימושי אם אנו רוצים לבצע השמה רק אם משתנה מסוים הוא false – שימושי מאוד להגדרות.

אבל הכי שימושי הוא ידידנו ?? – כיוון שהוא מופעל אך ורק במקרה של undefined או null:

let y = 5;
let x; // undefined and null ONLY

x ??= y;

console.log(x); // 5

כלומר האופרטור =?? שימושי אם אנו רוצים לבצע השמה רק אם משתנה מסוים הוא undefined – שימושי ביותר להגדרות ברירת מחדל.

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

פוסטים נוספים שכדאי לקרוא

תמונת תצוגה של מנעול על מחשב
פתרונות ומאמרים על פיתוח אינטרנט

הגנה מפני XSS עם Trusted Types

תכונה ב-CSP שמאפשרת מניעה כמעט הרמטית להתקפות XSS שכל מפתח ווב צריך להכיר וכדאי שיכיר.

פתרונות ומאמרים על פיתוח אינטרנט

נגישות טכנית – פודקאסט ומבוא

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

פתרונות ומאמרים על פיתוח אינטרנט

SSG עם next

אחרי שלמדנו במאמר הקודם מה זה SSR והבנו שלא מדובר בקליע כסף שפותר את כל הבעיות שלנו, נלמד על SSG שיכול להקל על כמה מהבעיות של SSR.

גלילה לראש העמוד