Я написала програму щоб розказати вам пікантну інформацію про
Вінстона, але не дуже багато, тому що він любить тримати дещо
в таємниці. Саме такий Вінстон. Отже,
подивимось як я зробила цю програму. Я створила декі змінні зверху щоб зберігати
трохи інформації про нього. Перша змінна містить число - його вік- друга рядок
-про його очі- третя містить масив рядків,
про речі які він любить робити, і дві останні змінні містять
рядки, що розказують де він народився. Тоді
тут, я показала кожну з них використовуючи текстову команду і тільки ім'я змінної
І звісно для масиву, я повинна мати доступ до кожного його елементу
використовуючи позначеня дужок. Класно.
Зараз всі 5 з цих змінних розказують про одне і те саме: Вінстона.
Але змінні не знают, що вони про одне і те саме
і знаєте, у Javascript коли ви хочете
зберігати кілька фрагментів інформації які пов'язані, у нас є кращий спосіб
їхнього зберігання і він дійсно чудовий, і називається Об'єкт [Object]
Так що це означає, що замість 5 змінних, ми можемо мати одну
змінну, яка зберігає всю цю інформацію, що є досить класно.
Спробуємо її з інформацією про Вінстона. Спочатку, ми оголосимо
змінну, і ми називемо її Вінстон. І тоді
ми поставимо відкриту фігурну дужку - переконайтеся чи фігурна, а не квадратна -
і крапкую з комою. Таким чином, ми створили об'єкт
але вона немає абсолютно ніякої інформації всередині.
Отже. щоб додати трохи інформації, нам потрібно додати властивості.
І кожна властивість це є ключ і значення. Наприклад, вік буде "age: 19"
Гаразд. І тоді для очей, ми додамо
кому і тоді eyes:"black". Гаразд, чудово.
Отже, тепер Вінстон має дві властивості всередині об'єкта.
І для вподобань, ми просто введемо:"likes: і тоді я
і просто скопіюємо це звідси, сюди, і
дуже добре. Отже, поглянемо на це. Ванстон має три властивості
Кожна властивість це ключ, що з правої
сторони, і значення, що по лівій стороні
Для ключа, він повинен слідувати тим самим правилам, що і Javascript
імена змінних. Без пробілів, починати з літери, все це.
Для значення, це може бути будь-який її тип,
що ми бачили раніше. Це може бути число, може бути рядок, це може бути масив
Це може бути навіть логічне значення, отже ми могли б додати isCool: істинна, звісно
І насправді, це значення може навіть бути й іншим об'єктом. Отже,
BirthCity and BirthState. Ці, дійсно частинки інформації про те ж саме
що є одним розсташування. І, таким чином, я думаю, що це буде
більше сенсу якщо ми збережемо це я об'єкт. я додам ще один ключ: birthplace,
і тоді для значення я вставлю фігурні дужки знову
і тоді всередині матиму ключ для міста:
"Mountain View", і тоді штат
"Каліфорнія" Чудово! Отже,тепер ви можете бачити як насправді ви можете
зберігати дуже багато інформацію всередині об'єкта.
Добре. І тепер у нас є цей хороший об'єкт, що показує всю цю інформацію про Вінстона
Попробуємо видалити ці окремі старі змінні
що не знають один про одного. Гаразд
Ой-ой! Отже тепер у нас помилка. І це тому, що наші
текстові команди посилаються на старі змінні. Нам потрібно оновити
їх щоб натомсіть використовувати інформацію об'єкта.
Почнемо з того, що законметуємо останні 3, отже ми можемо
зробити це по одному за раз. Гараз. І це йдеться про WinstonAge зараз
Тому, на слід замінити це, отже напишемо
Вінстон, так як це ім'я змінної. Зауважте
якщо ми просто залишимо це так, то це говорить об'єкт об'єкт. Що є дійсно
негарно. Ось Javascript говорить нам, що ми намагаємося перетворити цілий
об'єкт у рядкове значення. Але натомісь ми дійсно просто
ми хочемо мати доступ тільки до віку всередині нього. Отже, те що ми робимо,
ми кладемо крапку, і тоді пишемо ключову властивість тобто "вік"
У нас є вік. Ми називаємо це "крапковою нотацію"
що є тим, де ми пишемо ім'я змінної для об'єкта, а потім крапка,
а потім ключову властивість. Гаразд, отже ми можемо
продовжити і зробити більше зараз. розкоментуємо це, а потім замість
очей Вінстона, ми просто введемо: Winston.eyes а тоді
для цього, це буде Winston.likes
і потім Winston.likes[1] і тоді
для цієї останньої, це трохи складніше тому, що
це об'єкт всередині об'єкта. Отже, ми введемо
Winston.birthplace,
але якщо ми зробимо так, то це лише весь об'єкт тому, ми повинні ввести крапка
city. Добре. давайте зробимо це тут
Winston.birthplace.state.
Так що це дійсно класно так як ви можете просто досягти до об'єктів всередині
які знаходяться в об'єктах. Гаразд
Чудово. Отже, як ви можете бачити
об'єкти є хорошим способом зберігати багато пов'язаних частин
інформації про об'єкт, і потім мати мати можливість доступу до нього пізніше.
І коли ви будете продовжувати, ви з'ясуєте наскільки неймовірними є об'єкти!