PracticU

אובייקט גלובלי ב-NodeJS

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › אובייקט גלובלי ב-NodeJS
מילון מושגים:
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
Node.js - סביבת ריצה שמאפשרת להריץ קוד JavaScript מחוץ לדפדפן, בעיקר בצד השרת.
דפדפן - תוכנה שמציגה דפי אינטרנט ומריצה את הקוד שבהם, ומאפשרת לגלוש בין אתרים, למשל Chrome או Firefox.
תהליך - מופע של תוכנה שרצה בזיכרון, עם הקוד, הנתונים והמשאבים שהוקצו לה על ידי מערכת ההפעלה.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.

אובייקט גלובלי ב-NodeJS
ב-Node.js קיים אובייקט גלובלי בשם global, שזמין מכל מקום בתוכנית. הוא מקביל ל-window בדפדפן, אבל ב-Node.js אין דפדפן ולכן אין window.
מה נמצא בתוכו
1. כתיבה בלי global.: בדיוק כמו שבדפדפן לא כותבים window. לפני כל פקודה, גם כאן אפשר לקרוא ישירות למה שנמצא בגלובל.
2. process: אובייקט שמתאר את התהליך הרץ, למשל את גרסת Node.js.
3. process.env: אובייקט עם משתני הסביבה של המחשב, למשל process.env.NUMBER_OF_PROCESSORS שמציג את מספר המעבדים.
4. שירותים: console, setTimeout ו-setInterval. בדפדפן הם שייכים ל-window, וב-Node.js לגלובל.
משתנים בתוך מודול
var x = 123 בקובץ לא נכנס לגלובל. הוא לוקאלי לקובץ, כי Node.js עוטף כל קובץ בפונקציה. אפשר להכניס ערך לגלובל עם global.y = 456, ואז הוא נגיש מכל קובץ. המרצה מציין שזה לא מומלץ ברוב המקרים, ושיש מקרים בודדים שבהם כן משתמשים בזה, למשל מידע קונפיגורטיבי.
שימו לב
הגלובל מתאים לשירותים מובנים, אבל כתיבת משתנים אליו מערבבת בין הקבצים. לכן עדיף לשמור את הקוד במודולים.
האובייקט הגלובלי חשוף לכל הקבצים, ולכן מכניסים לתוכו רק מעט דברים.

פרקי ההרצאה: אובייקט גלובלי ב-NodeJS

  1. 00:00

    האובייקט הגלובלי ב-Node.js לעומת Window

  2. 01:02

    מבנה האובייקט global ותוכנו

  3. 01:45

    אובייקט process ומשתני הסביבה

  4. 04:11

    משתנים לוקאליים לעומת משתנים גלובליים

  5. 05:27

    הוספת משתנה לאובייקט global

תמלול ההרצאה: אובייקט גלובלי ב-NodeJS

הטקסט המלא של הדקות הראשונות בהרצאה «אובייקט גלובלי ב-NodeJS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:22

    אם אנחנו מריצים JavaScript בדפדפן, בקליינט סייד, קיים לנו ב-JavaScript אובייקט אחד ויחיד שהוא האובייקט הראשי שהכל נמצא בתוכו.

  3. 00:34

    ב-JavaScript Client Side האובייקט הזה הוא ה-Window, בתוכו יש הכל, כל פונקציה שאנחנו בונים, כל משתנה שאנחנו בונים, אלא אם כן אנחנו משתמשים במשתנים לוקאליים של פונקציות, אז הם כמובן לא שייכים ל-Global Object הזה.

  4. 00:53

    ב-Node.js אין לנו אובייקט Window, כי אין לנו פה Window, אין לנו דפדפן, אבל יש לנו אובייקט גלובלי. האובייקט הגלובלי ב-Node.js נקרא פשוט גלובלי.

  5. 01:08

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

  6. 01:34

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

  7. 01:58

    בואו נריץ ונראה ש-process מאפשר לנו לראות הרבה נתונים על ה-process הנוכחי, לדוגמה מה הגרסה שלו והנה אנחנו יכולים לראות שזאת בעצם הגרסה של no.js. ה-process זאת בעצם תוכנית של Node.js שמריצה לנו את האפליקציה שאנחנו בונים.

  8. 02:27

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

  9. 02:49

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

  10. 03:08

    דוגמה אחת יכולה להיות, בואו רגע נוריד את כל אלה environment.number of processors יש לנו במחשב הזה ארבעה פרוססורים.

  11. 03:36

    בואו נראה environment, user name והאמת בצורה כזאת owner ראינו את זה לפני זה אז יש לנו אפשרות להגדיר משתני סביבה להכניס אותם למשתני environment וגם לקרוא משתני סביבה קיימים כל הדברים האלה קיימים בתוך האובייקט גלובל אנחנו נשתמש איתו בהמשך בכדי להכניס לתוכו משהו שקשור לקונפיגורציות.

  12. 04:11

    עכשיו אם אנחנו רושמים. בואו ניקח משתנה var שהוא משתנה שבג'אווה סקריפט נייטיב היה מאפשר להכניס מידע בג'אווה סקריפט בדפדפן היה מאפשר להכניס משתנה לאובייקט ווינדו הכללי אז אם אני רושם עכשיו var x שווה 1 2 3 האם הדבר הזה שייך לאובייקט גלובל

  13. 04:40

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

  14. 04:57

    זה לא קשור לגלובל. אם עכשיו אני כותב console.log ויש לנו כאן את x אני כמובן אראה 1, 2, 3. בואו נריץ את זה הנה 123. אבל אם אני ארשום גלובל נקודה x ואני אריץ את זה אני אקבל undefined הוא לא שייך לגלובל אבל אם אני ארשום בואו רגע נרשום פה x פסיק גלובל x ואם אנחנו נרשום גלובל נקודה y שווה

  15. 05:31

    456 ונריץ console נקודה log גלובל נקודה y כמובן משתנה y רק כמילה y לא קיים לנו אז אנחנו כן רואים שהצלחנו להכניס לתוך הגלובל איזשהו משתנה ולכן המשתנה הזה יהיה נגיש על ידי אובייקט הגלובל בכל מקום מעכשיו והלאה.

  16. 05:57

    בגלל שאנחנו לא צריכים לרשום את המילה גלובל, אם אנחנו נרשום y אנחנו כן נוכל לקבל את

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: מודולים מובנים ב-NodeJS

ההרצאה הבאה: הסבר על Package ב-NodeJS

הרצאות קשורות מקורסים אחרים

  • אובייקט Screen
  • אובייקט Canvas באנדרואיד
  • החזרת אובייקט ב-JSON
  • שלבי יצירת אובייקט

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React