WEBVTT 00:00:01.333 --> 00:00:03.803 כתבתי תוכנה כדי לספר לכם פרטים עסיסיים 00:00:03.803 --> 00:00:07.469 על ווינסטון, אבל לא יותר מדי כי ווינסטון מעדיף לשמור על קצת 00:00:07.469 --> 00:00:11.870 מסתורין. זו פשוט הדרך של ווינסטון. אז, בואו 00:00:11.870 --> 00:00:15.334 נראה איך כתבתי את התוכנה הזו. יצרתי כמה משתנים למעלה, כדי לשמור 00:00:15.334 --> 00:00:20.034 חלקי מידע עליו. המשתנה הראשון מחזיק מספר - הגיל שלו, המשתנה השני מחזיק 00:00:20.034 --> 00:00:23.955 מחרוזת - צבע העיניים שלו, המשתנה השלישי מחזיק מערך של מחרוזות, 00:00:23.955 --> 00:00:27.907 שהם דברים שהוא אוהב לעשות, ושני המשתנים האחרונים מחזיקים 00:00:27.907 --> 00:00:31.566 מחרוזות המתארות היכן הוא נולד. 00:00:31.566 --> 00:00:35.940 אחר כך כאן למטה, הדפסתי כל אחד מהמשתנים באמצעות פקודת ה-text, ועל ידי שימוש בשם המשתנה. 00:00:35.940 --> 00:00:39.699 וכמובן בשביל המערך, אני צריכה לגשת לכל איבר במערך 00:00:39.699 --> 00:00:43.450 באמצעות סוגריים מרובעים. מגניב. עכשיו 00:00:43.450 --> 00:00:48.636 כל חמשת המשתנים האלו מתארים מידע על אותו הדבר - ווינסטון. 00:00:48.636 --> 00:00:51.598 אבל המשתנים לא יודעים שהם קשורים לאותו הדבר. 00:00:51.598 --> 00:00:55.502 ואתם יודעים, בשפת Javascript, כשאתם רוצים 00:00:55.502 --> 00:00:59.289 לשמור מספר חלקי מידע קשורים, יש לנו דרך טובה יותר 00:00:59.289 --> 00:01:03.125 לשמור אותם - דרך נחמדה שנקראת אובייקט. 00:01:03.125 --> 00:01:06.795 מה שזה אומר זה שבמקום חמישה משתנים, יש לנו משתנה יחיד 00:01:06.795 --> 00:01:11.623 שמכיל את כל המידע הזה - די מגניב. 00:01:11.623 --> 00:01:15.169 בואו ננסה את זה עם המידע של ווינסטון. ראשית, ניצור את המשתנה 00:01:15.169 --> 00:01:18.837 ונקרא לו ווינסטון. ואז 00:01:18.837 --> 00:01:23.399 שמים סימן פתיחת סוגריים מסולסלים ({) - שימו לב שזה סוגריים מסולסלים, לא מרובעים - 00:01:23.399 --> 00:01:27.107 ואז סימן נקודה-פסיק (;). יצרנו אובייקט 00:01:27.107 --> 00:01:31.047 אבל עדיין אין בו שום מידע. 00:01:31.909 --> 00:01:35.668 כדי להוסיף קצת מידע, אנחנו צריכים להוסיף מאפיינים. 00:01:35.668 --> 00:01:41.276 לכל מאפיין יש מפתח וערך. למשל, עבור גיל נרשום - age: 19 00:01:41.276 --> 00:01:43.789 אוקיי. עכשיו בשביל צבע העיניים, נוסיף 00:01:43.789 --> 00:01:48.039 פסיק, ואז: eyes: "black". אוקיי, מגניב 00:01:48.039 --> 00:01:52.742 עכשיו יש לווינסטון שני מאפיינים בתוך האובייקט. 00:01:52.742 --> 00:01:55.607 עבור תחביבים, נכתוב - likes: 00:01:55.607 --> 00:02:00.076 ונעתיק את זה מכאן למעלה.. 00:02:00.076 --> 00:02:04.000 יפה. בואו נסתכל על זה. לווינסטון יש שלושה מאפיינים. 00:02:04.000 --> 00:02:07.527 לכל מאפיין יש מפתח - מה שנמצא בצד שמאל 00:02:07.527 --> 00:02:12.796 וערך - מה שנמצא בצד ימין 00:02:12.796 --> 00:02:15.632 במקרה של המפתח, הוא צריך לענות על אותם כללים כמו שמות משתנים ב-Javascript. 00:02:15.632 --> 00:02:20.099 ללא רווחים, חייב להתחיל באות, וכו. 00:02:20.591 --> 00:02:22.960 הערך יכול להיות מכל טיפוס 00:02:22.960 --> 00:02:27.124 שהכרנו עד כה. זה יכול להיות מספר, מחרוזת, או מערך. 00:02:27.124 --> 00:02:33.373 זה יכול גם להיות משתנה בוליאני, למשל - isCool: true, כמובן. 00:02:34.126 --> 00:02:38.398 למעשה, הערך יכול להיות אפילו להיות אובייקט אחר. 00:02:38.398 --> 00:02:42.709 למשל, BirthCity (עיר לידה) ו-BirthState (מדינת לידה). אלו הם בעיקרון חלקי מידע על אותו הדבר - 00:02:42.709 --> 00:02:46.616 על מקום ספציפי. לכן, אני חושבת שזה 00:02:46.616 --> 00:02:51.042 יהיה הגיוני יותר אם נשמור אותם יחד כאובייקט. אני אוסיף עוד מפתח, מקום לידה 00:02:51.042 --> 00:02:54.836 ואז עבור הערך אני אשים שוב סוגריים מסולסים. 00:02:54.836 --> 00:02:58.376 בפנים יהיה את המפתח לעיר - 00:02:58.376 --> 00:03:02.287 "Mountain View", ואז המדינה - 00:03:02.287 --> 00:03:06.766 "California". נהדר! עכשיו אתם יכולים לראות, שאתם יכולים 00:03:06.766 --> 00:03:10.480 לשמור מידע מאוד עשיר בתוך אובייקט. 00:03:11.033 --> 00:03:15.459 בסדר. עכשיו שיש לנו אובייקט נחמד שמתאר את כל המידע הזה על ווינסטון 00:03:15.459 --> 00:03:18.783 בואו ננסה למחוק את המשתנים הבודדים הישנים 00:03:18.783 --> 00:03:23.066 שלא היו קשורים אחד לשני. 00:03:23.066 --> 00:03:27.039 אופס! יש לנו שגיאה. זה מכיוון 00:03:27.039 --> 00:03:30.739 שפקודות ה-text מתייחסות למשתנים הישנים. אנחנו צריכים לעדכן 00:03:30.739 --> 00:03:34.502 אותן כדי להשתשמש במידע מהאובייקט, במקום. 00:03:34.502 --> 00:03:38.218 בואו נתחיל בלהפוך את שלושת הפקודות האחרונות להערה, כדי שנוכל 00:03:38.218 --> 00:03:41.872 לעשות את זה אחד-אחד. אוקיי. אז כתוב כאן - winstonAge 00:03:41.872 --> 00:03:46.396 כרגע. מה שאנחנו צריכים לעשות זה להחליף את זה, אז נכתוב 00:03:46.396 --> 00:03:50.293 'winston', כי זה שם המשתנה. שימו לב שאם 00:03:50.293 --> 00:03:53.834 נשאיר את זה ככה, זה מדפיס: 'object object'. זה ממש מכוער. 00:03:53.834 --> 00:03:57.369 זה Javascript אומר לנו שאנחנו מנסים להפוך 00:03:57.369 --> 00:04:02.109 אובייקט שלם לתוך ערך מחרוזת. במקום זה, אנחנו 00:04:02.109 --> 00:04:06.134 רוצים לגשת רק לגיל בתוך האובייקט. מה שאנחנו עושים 00:04:06.134 --> 00:04:11.063 זה מוסיפים נקודה (.), ואז רושמים את המפתח של המאפיין, שהוא: age. 00:04:11.063 --> 00:04:14.897 טה-דה! יש לנו את הגיל. אנו קוראים לזה "dot notation" (סימון נקודה) 00:04:14.897 --> 00:04:18.284 שזה אומר שאנחנו רושמים את שם המשתנה של האובייקט, ואז נקודה 00:04:18.284 --> 00:04:21.791 ואז את מפתח המאפיין. אוקיי 00:04:21.791 --> 00:04:26.244 אז עכשיו אנחנו הולכים לעשות עוד. נוריד את סימון ההערה כאן, ואז במקום winstonEyes 00:04:26.244 --> 00:04:29.877 נרשום winston נקודה eyes, ואז 00:04:29.877 --> 00:04:34.074 בשביל השורה הזאת - winston נקודה likes 00:04:34.074 --> 00:04:37.741 ואז winston נקודה likes במקום ה-1, ואז 00:04:37.741 --> 00:04:42.501 בשביל השורה האחרונה הזו, זה קצת יותר מורכב כי 00:04:42.501 --> 00:04:45.451 זה אובייקט בתוך אובייקט. אז נרשום 00:04:45.451 --> 00:04:48.784 winston ואז נקודה, birthplace 00:04:48.784 --> 00:04:53.288 אבל אם נשאיר את זה כך, זה עדיין אובייקט שלם, אז נרשום עוד נקודה 00:04:53.288 --> 00:04:57.455 ואז city. ובדומה נרשום אחרי זה - 00:04:57.455 --> 00:05:01.572 winston.birthplace.state 00:05:01.572 --> 00:05:05.791 טה-דה! אז זה ממש מגניב כי אתם יכולים פשוט לשלוף מידע ישר מתוך אובייקטים 00:05:05.791 --> 00:05:09.416 שהם בתוך אובייקט אחר. 00:05:10.863 --> 00:05:13.919 מעולה. כמו שאתם רואים 00:05:13.919 --> 00:05:17.597 אובייקטים הם דרך מצוינת לשמור אוסף חלקי מידע קשורים 00:05:17.597 --> 00:05:21.406 על אובייקט מסויים, ואז לגשת אל המידע הזה אחר כך. 00:05:21.406 --> 00:05:25.406 כשתמשיכו עם הלמידה, תגלו עוד על כמה אובייקטים הם אדירים!