JavaScript – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה
הוספת מקף בין אות עברית לאנגלית
שורה 27:
 
== אפיוני השפה ==
השפה היא שפה שעוברת תהליך [[מפרש (תוכנה)|אינטרפטרציה (פירוש)]] ולא [[מהדר|קומפילציה (הידור)]].{{הערה|{{קישור כללי|כתובת=https://web.stanford.edu/class/cs98si/slides/overview.html|כותרת=Introduction|אתר=web.stanford.edu|תאריך_וידוא=2020-02-16}}}} משמעות הדבר שקוד המקור לא צריך לעבור תהליך של קימפול (הידור) לשפת ביניים ואז להריץ אותו, אלא הinterpreterה־interpreter (מפרש) קורא שורה שורה או מקבץ של שורות (למשל scope של פונקציה) ומריץ אותן ישירות. תהליך זה מקל לעיתים להבין היכן התבצעה שגיאה ומאפשר דיבוג קל יותר של השפה.
 
העברת פרמטרים לפונקציה בשפה משתנה בין טיפוסים פרימטיבים לאובייקטים. טיפוסים פרמיטיבים עוברים by value כלומר השפה מעבירה את הערך כמו שהוא ולא יוצרת העתק של הערך. טיפוסים מורכבים או אובייקטים עוברים by reference כלומר השפה תעביר העתק של של האובייקט ולא את האובייקט המקורי.{{הערה|{{קישור כללי|כתובת=https://www.w3schools.com/js/js_function_parameters.asp|כותרת=JavaScript Function Parameters|אתר=www.w3schools.com|תאריך_וידוא=2020-02-16}}}}