Discuss, Learn and be Happy דיון בשאלות

help brightness_4 brightness_7 format_textdirection_r_to_l format_textdirection_l_to_r

איזו הצהרה לגבי JavaScript נכונה?

1
done
הרצאה 6 - JS מבוססת על Thread יחיד (Single Threaded), אבל באמצעות Event Loop ו־Web APIs היא מסוגלת להתמודד עם ריבוי משימות בו זמנית מבלי לחסום את הזרימה.
by
מיין לפי

מהו היתרון המרכזי של Web APIs בדפדפן?

1
done
הרצאה 6 - Web APIs כמו setTimeout, fetch, DOM Events הן ממשקי מערכת של הדפדפן שמבצעים פעולות מחוץ ל־Call Stack עד שהן מוכנות, ובכך מאפשרות עבודה אסינכרונית.
by
מיין לפי

מהו סדר הפעולה התקני של ה-Event Loop?

1
done
הרצאה 6 - ברגע שה־Call Stack מתפנה, ה־Event Loop מבצע קודם את כל המשימות שנמצאות ב־Microtask Queue (כמו Promise.then), ורק לאחר מכן ממשיך ל־Task Queue.
by
מיין לפי

מה קורה אם משימה אחת נמשכת יותר מדי זמן ב-JS?

1
done
הרצאה 6 - בגלל עקרון Run-to-Completion, אם משימה ב-JS לוקחת הרבה זמן – היא תחסום את ה־Call Stack ותמנע מה־Event Loop לרוץ, מה שיגרום לחוויית משתמש איטית או תקועה.
by
מיין לפי

מה תפקידו של תור ההודעות (Message Queue או Task Queue) ב-JavaScript?

1
done
הרצאה 6 - ברגע ש־Web API סיימה לטפל במשימה (כמו timeout או אירוע DOM), היא דוחפת את הפונקציה (callback) ל־Task Queue, ומשם Event Loop יכניס אותה ל־Call Stack כשהוא פנוי.
by
מיין לפי

מה קורה אם Promise מוכן לביצוע בדיוק כשיש גם setTimeout מוכן?

1
done
הרצאה 6 - פונקציות callback של Promise נדחפות ל־Microtask Queue, שמקבל עדיפות מוחלטת על פני Task Queue (שבו נמצא setTimeout). לכן, ה־Promise ירוץ ראשון.
by
מיין לפי
by Noam Tarshish
Noam Tarshish 0 נקודות · יותר מ-6 חודשים
מוניטין: 30
הרצאה 6 - פונקציות callback של Promise נדחפות ל־Microtask Queue, שמקבל עדיפות מוחלטת על פני Task Queue (שבו נמצא setTimeout). לכן, ה־Promise ירוץ ראשון.
by

מה קורה כאשר DOM Event כמו click מתרחש בדפדפן?

1
done
הרצאה 6 - מאזיני אירועים כמו click מנוהלים ע"י Web API, וכאשר מתרחש האירוע, הפונקציה שנרשמה אליו נדחפת ל־Task Queue ומחכה לתורה להיכנס ל־Call Stack.
by
מיין לפי
by Noam Tarshish
Noam Tarshish 0 נקודות · יותר מ-6 חודשים
מוניטין: 30
הרצאה 6 - מאזיני אירועים כמו click מנוהלים ע"י Web API, וכאשר מתרחש האירוע, הפונקציה שנרשמה אליו נדחפת ל־Task Queue ומחכה לתורה להיכנס ל־Call Stack.
by

מה מתאר בצורה הטובה ביותר את המונח Transpilation בהקשר של JavaScript?

1
done
הרצאה 6 - Transpile הוא תהליך המרה בין שפות ברמה דומה, לדוגמה: המרת קוד ES6 לקוד ES5 כדי לאפשר תאימות לדפדפנים ישנים. לא מתבצע קומפילציה ברמת מכונה.
by
מיין לפי

כיצד ניתן להימנע מחסימה של Event Loop במקרים של פעולות כבדות?

1
done
הרצאה 6 - הדרך הנכונה להתמודד עם משימות כבדות ב-JS היא לפצל אותן למשימות קטנות או להשתמש באסינכרוניות (Promises, setTimeout וכו'), כדי לא לחסום את Event Loop.
by
מיין לפי

מה יהיה סדר הפלט?

1
done
הרצאה 6 - console.log("A") ו-console.log("D") הם קריאות סינכרוניות ולכן יורצו מיידית. Promise.then(...) נכנס ל־Microtask Queue – וירוץ מיד אחרי שהמחסנית (Call Stack) מתפנה. setTimeout(..., 0) נכנס ל־Task Queue, ורק אחרי שה-Microtasks נגמרים – ייכנס לביצוע. לכן הפלט: A, D, C, B
by
מיין לפי
by Noam Tarshish
Noam Tarshish 0 נקודות · יותר מ-6 חודשים
מוניטין: 30
הרצאה 6 - console.log("A") ו-console.log("D") הם קריאות סינכרוניות ולכן יורצו מיידית. Promise.then(...) נכנס ל־Microtask Queue – וירוץ מיד אחרי שהמחסנית (Call Stack) מתפנה. setTimeout(..., 0) נכנס ל־Task Queue, ורק אחרי שה-Microtasks נגמרים – ייכנס לביצוע. לכן הפלט: A, D, C, B
by