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