
global, שזמין מכל מקום בתוכנית. הוא מקביל ל-window בדפדפן, אבל ב-Node.js אין דפדפן ולכן אין window.global.: בדיוק כמו שבדפדפן לא כותבים window. לפני כל פקודה, גם כאן אפשר לקרוא ישירות למה שנמצא בגלובל.process: אובייקט שמתאר את התהליך הרץ, למשל את גרסת Node.js.process.env: אובייקט עם משתני הסביבה של המחשב, למשל process.env.NUMBER_OF_PROCESSORS שמציג את מספר המעבדים.console, setTimeout ו-setInterval. בדפדפן הם שייכים ל-window, וב-Node.js לגלובל.var x = 123 בקובץ לא נכנס לגלובל. הוא לוקאלי לקובץ, כי Node.js עוטף כל קובץ בפונקציה. אפשר להכניס ערך לגלובל עם global.y = 456, ואז הוא נגיש מכל קובץ. המרצה מציין שזה לא מומלץ ברוב המקרים, ושיש מקרים בודדים שבהם כן משתמשים בזה, למשל מידע קונפיגורטיבי.הטקסט המלא של הדקות הראשונות בהרצאה «אובייקט גלובלי ב-NodeJS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
מעבר לאפשרות שלנו לבנות מודולים ולהשתמש איתם ומעבר לבילד אין מודולס שקיימים, קיים ב-Node.js אובייקט שמהווה את האובייקט הגלובלי שנמצא בכל מקום ב-Node.js.
אם אנחנו מריצים JavaScript בדפדפן, בקליינט סייד, קיים לנו ב-JavaScript אובייקט אחד ויחיד שהוא האובייקט הראשי שהכל נמצא בתוכו.
ב-JavaScript Client Side האובייקט הזה הוא ה-Window, בתוכו יש הכל, כל פונקציה שאנחנו בונים, כל משתנה שאנחנו בונים, אלא אם כן אנחנו משתמשים במשתנים לוקאליים של פונקציות, אז הם כמובן לא שייכים ל-Global Object הזה.
ב-Node.js אין לנו אובייקט Window, כי אין לנו פה Window, אין לנו דפדפן, אבל יש לנו אובייקט גלובלי. האובייקט הגלובלי ב-Node.js נקרא פשוט גלובלי.
אז בואו נראה כמה דברים לגבי האובייקט הזה. בואו קודם כל נציג אותו, נריץ ונראה שהאובייקט הזה הוא ממש ממש גדול. תפעימו לב שיש בו המון המון דברים והאובייקט המרכזי לגמרי שקיים לנו גלובל אובג'קט.
כמה דברים שקיימים בתוכו. בואו רגע נוריד את זה. יש לנו פה כמה דברים שחשוב לנו להכיר לגבי האובייקט הזה. אנחנו יכולים להדפיס לדוגמה את האובייקט process שנמצא בתוכו.
בואו נריץ ונראה ש-process מאפשר לנו לראות הרבה נתונים על ה-process הנוכחי, לדוגמה מה הגרסה שלו והנה אנחנו יכולים לראות שזאת בעצם הגרסה של no.js. ה-process זאת בעצם תוכנית של Node.js שמריצה לנו את האפליקציה שאנחנו בונים.
דבר נוסף שיש לנו זה קודם כל אפשרות לא לכתוב את המילה גלובל בדיוק כמו שבדפדפן לא היינו צריכים לרשום ווינדואו נקודה אז כאן אנחנו יכולים לוותר על גלובל נקודה ואוטומטית אנחנו מגיעים לכל מה שנמצא בתוכו.
דבר נוסף שיש לנו זה בתוך פרוסס יש לנו משתנה environment ואובייקט שמכיל מידע לגבי משתנה הסביבה. אתם יכולים לראות אותם כאן.
דוגמה אחת יכולה להיות, בואו רגע נוריד את כל אלה environment.number of processors יש לנו במחשב הזה ארבעה פרוססורים.
בואו נראה environment, user name והאמת בצורה כזאת owner ראינו את זה לפני זה אז יש לנו אפשרות להגדיר משתני סביבה להכניס אותם למשתני environment וגם לקרוא משתני סביבה קיימים כל הדברים האלה קיימים בתוך האובייקט גלובל אנחנו נשתמש איתו בהמשך בכדי להכניס לתוכו משהו שקשור לקונפיגורציות.
עכשיו אם אנחנו רושמים. בואו ניקח משתנה var שהוא משתנה שבג'אווה סקריפט נייטיב היה מאפשר להכניס מידע בג'אווה סקריפט בדפדפן היה מאפשר להכניס משתנה לאובייקט ווינדו הכללי אז אם אני רושם עכשיו var x שווה 1 2 3 האם הדבר הזה שייך לאובייקט גלובל
אז התשובה היא לא בפני שראינו שיש לנו כאן מאחורי הקלעים פונקציית if היא שעוטפת אותנו ולכן כל מה שאני רושם כאן הוא לוקאלי לגבי המודול הנוכחי שבו נמצא upjs במקרה הזה.
זה לא קשור לגלובל. אם עכשיו אני כותב console.log ויש לנו כאן את x אני כמובן אראה 1, 2, 3. בואו נריץ את זה הנה 123. אבל אם אני ארשום גלובל נקודה x ואני אריץ את זה אני אקבל undefined הוא לא שייך לגלובל אבל אם אני ארשום בואו רגע נרשום פה x פסיק גלובל x ואם אנחנו נרשום גלובל נקודה y שווה
456 ונריץ console נקודה log גלובל נקודה y כמובן משתנה y רק כמילה y לא קיים לנו אז אנחנו כן רואים שהצלחנו להכניס לתוך הגלובל איזשהו משתנה ולכן המשתנה הזה יהיה נגיש על ידי אובייקט הגלובל בכל מקום מעכשיו והלאה.
בגלל שאנחנו לא צריכים לרשום את המילה גלובל, אם אנחנו נרשום y אנחנו כן נוכל לקבל את