1 00:00:01,333 --> 00:00:03,803 כתבתי תוכנה כדי לספר לכם פרטים עסיסיים 2 00:00:03,803 --> 00:00:07,469 על ווינסטון, אבל לא יותר מדי כי ווינסטון מעדיף לשמור על קצת 3 00:00:07,469 --> 00:00:11,870 מסתורין. זו פשוט הדרך של ווינסטון. אז, בואו 4 00:00:11,870 --> 00:00:15,334 נראה איך כתבתי את התוכנה הזו. יצרתי כמה משתנים למעלה, כדי לשמור 5 00:00:15,334 --> 00:00:20,034 חלקי מידע עליו. המשתנה הראשון מחזיק מספר - הגיל שלו, המשתנה השני מחזיק 6 00:00:20,034 --> 00:00:23,955 מחרוזת - צבע העיניים שלו, המשתנה השלישי מחזיק מערך של מחרוזות, 7 00:00:23,955 --> 00:00:27,907 שהם דברים שהוא אוהב לעשות, ושני המשתנים האחרונים מחזיקים 8 00:00:27,907 --> 00:00:31,566 מחרוזות המתארות היכן הוא נולד. 9 00:00:31,566 --> 00:00:35,940 אחר כך כאן למטה, הדפסתי כל אחד מהמשתנים באמצעות פקודת ה-text, ועל ידי שימוש בשם המשתנה. 10 00:00:35,940 --> 00:00:39,699 וכמובן בשביל המערך, אני צריכה לגשת לכל איבר במערך 11 00:00:39,699 --> 00:00:43,450 באמצעות סוגריים מרובעים. מגניב. עכשיו 12 00:00:43,450 --> 00:00:48,636 כל חמשת המשתנים האלו מתארים מידע על אותו הדבר - ווינסטון. 13 00:00:48,636 --> 00:00:51,598 אבל המשתנים לא יודעים שהם קשורים לאותו הדבר. 14 00:00:51,598 --> 00:00:55,502 ואתם יודעים, בשפת Javascript, כשאתם רוצים 15 00:00:55,502 --> 00:00:59,289 לשמור מספר חלקי מידע קשורים, יש לנו דרך טובה יותר 16 00:00:59,289 --> 00:01:03,125 לשמור אותם - דרך נחמדה שנקראת אובייקט. 17 00:01:03,125 --> 00:01:06,795 מה שזה אומר זה שבמקום חמישה משתנים, יש לנו משתנה יחיד 18 00:01:06,795 --> 00:01:11,623 שמכיל את כל המידע הזה - די מגניב. 19 00:01:11,623 --> 00:01:15,169 בואו ננסה את זה עם המידע של ווינסטון. ראשית, ניצור את המשתנה 20 00:01:15,169 --> 00:01:18,837 ונקרא לו ווינסטון. ואז 21 00:01:18,837 --> 00:01:23,399 שמים סימן פתיחת סוגריים מסולסלים ({) - שימו לב שזה סוגריים מסולסלים, לא מרובעים - 22 00:01:23,399 --> 00:01:27,107 ואז סימן נקודה-פסיק (;). יצרנו אובייקט 23 00:01:27,107 --> 00:01:31,047 אבל עדיין אין בו שום מידע. 24 00:01:31,909 --> 00:01:35,668 כדי להוסיף קצת מידע, אנחנו צריכים להוסיף מאפיינים. 25 00:01:35,668 --> 00:01:41,276 לכל מאפיין יש מפתח וערך. למשל, עבור גיל נרשום - age: 19 26 00:01:41,276 --> 00:01:43,789 אוקיי. עכשיו בשביל צבע העיניים, נוסיף 27 00:01:43,789 --> 00:01:48,039 פסיק, ואז: eyes: "black". אוקיי, מגניב 28 00:01:48,039 --> 00:01:52,742 עכשיו יש לווינסטון שני מאפיינים בתוך האובייקט. 29 00:01:52,742 --> 00:01:55,607 עבור תחביבים, נכתוב - likes: 30 00:01:55,607 --> 00:02:00,076 ונעתיק את זה מכאן למעלה.. 31 00:02:00,076 --> 00:02:04,000 יפה. בואו נסתכל על זה. לווינסטון יש שלושה מאפיינים. 32 00:02:04,000 --> 00:02:07,527 לכל מאפיין יש מפתח - מה שנמצא בצד שמאל 33 00:02:07,527 --> 00:02:12,796 וערך - מה שנמצא בצד ימין 34 00:02:12,796 --> 00:02:15,632 במקרה של המפתח, הוא צריך לענות על אותם כללים כמו שמות משתנים ב-Javascript. 35 00:02:15,632 --> 00:02:20,099 ללא רווחים, חייב להתחיל באות, וכו. 36 00:02:20,591 --> 00:02:22,960 הערך יכול להיות מכל טיפוס 37 00:02:22,960 --> 00:02:27,124 שהכרנו עד כה. זה יכול להיות מספר, מחרוזת, או מערך. 38 00:02:27,124 --> 00:02:33,373 זה יכול גם להיות משתנה בוליאני, למשל - isCool: true, כמובן. 39 00:02:34,126 --> 00:02:38,398 למעשה, הערך יכול להיות אפילו להיות אובייקט אחר. 40 00:02:38,398 --> 00:02:42,709 למשל, BirthCity (עיר לידה) ו-BirthState (מדינת לידה). אלו הם בעיקרון חלקי מידע על אותו הדבר - 41 00:02:42,709 --> 00:02:46,616 על מקום ספציפי. לכן, אני חושבת שזה 42 00:02:46,616 --> 00:02:51,042 יהיה הגיוני יותר אם נשמור אותם יחד כאובייקט. אני אוסיף עוד מפתח, מקום לידה 43 00:02:51,042 --> 00:02:54,836 ואז עבור הערך אני אשים שוב סוגריים מסולסים. 44 00:02:54,836 --> 00:02:58,376 בפנים יהיה את המפתח לעיר - 45 00:02:58,376 --> 00:03:02,287 "Mountain View", ואז המדינה - 46 00:03:02,287 --> 00:03:06,766 "California". נהדר! עכשיו אתם יכולים לראות, שאתם יכולים 47 00:03:06,766 --> 00:03:10,480 לשמור מידע מאוד עשיר בתוך אובייקט. 48 00:03:11,033 --> 00:03:15,459 בסדר. עכשיו שיש לנו אובייקט נחמד שמתאר את כל המידע הזה על ווינסטון 49 00:03:15,459 --> 00:03:18,783 בואו ננסה למחוק את המשתנים הבודדים הישנים 50 00:03:18,783 --> 00:03:23,066 שלא היו קשורים אחד לשני. 51 00:03:23,066 --> 00:03:27,039 אופס! יש לנו שגיאה. זה מכיוון 52 00:03:27,039 --> 00:03:30,739 שפקודות ה-text מתייחסות למשתנים הישנים. אנחנו צריכים לעדכן 53 00:03:30,739 --> 00:03:34,502 אותן כדי להשתשמש במידע מהאובייקט, במקום. 54 00:03:34,502 --> 00:03:38,218 בואו נתחיל בלהפוך את שלושת הפקודות האחרונות להערה, כדי שנוכל 55 00:03:38,218 --> 00:03:41,872 לעשות את זה אחד-אחד. אוקיי. אז כתוב כאן - winstonAge 56 00:03:41,872 --> 00:03:46,396 כרגע. מה שאנחנו צריכים לעשות זה להחליף את זה, אז נכתוב 57 00:03:46,396 --> 00:03:50,293 'winston', כי זה שם המשתנה. שימו לב שאם 58 00:03:50,293 --> 00:03:53,834 נשאיר את זה ככה, זה מדפיס: 'object object'. זה ממש מכוער. 59 00:03:53,834 --> 00:03:57,369 זה Javascript אומר לנו שאנחנו מנסים להפוך 60 00:03:57,369 --> 00:04:02,109 אובייקט שלם לתוך ערך מחרוזת. במקום זה, אנחנו 61 00:04:02,109 --> 00:04:06,134 רוצים לגשת רק לגיל בתוך האובייקט. מה שאנחנו עושים 62 00:04:06,134 --> 00:04:11,063 זה מוסיפים נקודה (.), ואז רושמים את המפתח של המאפיין, שהוא: age. 63 00:04:11,063 --> 00:04:14,897 טה-דה! יש לנו את הגיל. אנו קוראים לזה "dot notation" (סימון נקודה) 64 00:04:14,897 --> 00:04:18,284 שזה אומר שאנחנו רושמים את שם המשתנה של האובייקט, ואז נקודה 65 00:04:18,284 --> 00:04:21,791 ואז את מפתח המאפיין. אוקיי 66 00:04:21,791 --> 00:04:26,244 אז עכשיו אנחנו הולכים לעשות עוד. נוריד את סימון ההערה כאן, ואז במקום winstonEyes 67 00:04:26,244 --> 00:04:29,877 נרשום winston נקודה eyes, ואז 68 00:04:29,877 --> 00:04:34,074 בשביל השורה הזאת - winston נקודה likes 69 00:04:34,074 --> 00:04:37,741 ואז winston נקודה likes במקום ה-1, ואז 70 00:04:37,741 --> 00:04:42,501 בשביל השורה האחרונה הזו, זה קצת יותר מורכב כי 71 00:04:42,501 --> 00:04:45,451 זה אובייקט בתוך אובייקט. אז נרשום 72 00:04:45,451 --> 00:04:48,784 winston ואז נקודה, birthplace 73 00:04:48,784 --> 00:04:53,288 אבל אם נשאיר את זה כך, זה עדיין אובייקט שלם, אז נרשום עוד נקודה 74 00:04:53,288 --> 00:04:57,455 ואז city. ובדומה נרשום אחרי זה - 75 00:04:57,455 --> 00:05:01,572 winston.birthplace.state 76 00:05:01,572 --> 00:05:05,791 טה-דה! אז זה ממש מגניב כי אתם יכולים פשוט לשלוף מידע ישר מתוך אובייקטים 77 00:05:05,791 --> 00:05:09,416 שהם בתוך אובייקט אחר. 78 00:05:10,863 --> 00:05:13,919 מעולה. כמו שאתם רואים 79 00:05:13,919 --> 00:05:17,597 אובייקטים הם דרך מצוינת לשמור אוסף חלקי מידע קשורים 80 00:05:17,597 --> 00:05:21,406 על אובייקט מסויים, ואז לגשת אל המידע הזה אחר כך. 81 00:05:21,406 --> 00:05:25,406 כשתמשיכו עם הלמידה, תגלו עוד על כמה אובייקטים הם אדירים!