[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.33,0:00:02.33,Default,,0000,0000,0000,,Udělala jsem program, Dialogue: 0,0:00:02.33,0:00:05.04,Default,,0000,0000,0000,,který o Winstonovi prozrazuje\Nřadu zajímavých detailů. Dialogue: 0,0:00:05.04,0:00:08.37,Default,,0000,0000,0000,,Ale neprozrazuje úplně vše,\Nprotože si to Winston nepřeje. Dialogue: 0,0:00:08.37,0:00:10.52,Default,,0000,0000,0000,,Tak to prostě Winston chce. Dialogue: 0,0:00:11.15,0:00:13.66,Default,,0000,0000,0000,,Pojďme se podívat, jak jsem \Ntento program vytvořila. Dialogue: 0,0:00:13.66,0:00:17.09,Default,,0000,0000,0000,,Nejdřív jsem vytvořila proměnné,\Nkteré v sobě ukládají části informací. Dialogue: 0,0:00:17.09,0:00:19.26,Default,,0000,0000,0000,,První proměnná obsahuje \Nčíslo, Winstonův věk. Dialogue: 0,0:00:19.26,0:00:21.80,Default,,0000,0000,0000,,Druhá proměnná obsahuje\Ntextový řetězec, jeho oči. Dialogue: 0,0:00:21.80,0:00:23.96,Default,,0000,0000,0000,,A třetí proměnná obsahuje\Npole řetězců, Dialogue: 0,0:00:23.96,0:00:26.19,Default,,0000,0000,0000,,což jsou věci, které \NWinston rád dělá. Dialogue: 0,0:00:26.19,0:00:28.68,Default,,0000,0000,0000,,A poslední dvě proměnné\Nobsahují řetězce, Dialogue: 0,0:00:28.68,0:00:31.57,Default,,0000,0000,0000,,které popisují Winstonovo\Nmísto narození. Dialogue: 0,0:00:31.57,0:00:36.38,Default,,0000,0000,0000,,A tady dolů jsem informace vypsala\Npomocí textových příkazů a proměnných. Dialogue: 0,0:00:36.38,0:00:39.70,Default,,0000,0000,0000,,U pole musím samozřejmě\Nzpřístupnit každý z jeho prvků. Dialogue: 0,0:00:39.70,0:00:41.87,Default,,0000,0000,0000,,K tomu používám\Nzápis v závorce. Dialogue: 0,0:00:43.26,0:00:48.64,Default,,0000,0000,0000,,Všech pět proměnných popisují\Njednu a tu samou věc: Winstona. Dialogue: 0,0:00:48.64,0:00:51.60,Default,,0000,0000,0000,,Proměnné ale nevědí,\Nže popisují tu samou věc. Dialogue: 0,0:00:54.23,0:00:58.18,Default,,0000,0000,0000,,Když chceme v JavaScriptu uložit \Nhromadu souvisejících informací, Dialogue: 0,0:00:58.18,0:01:00.69,Default,,0000,0000,0000,,používáme k tomu \Nmnohem lepší způsob. Dialogue: 0,0:01:00.69,0:01:03.12,Default,,0000,0000,0000,,A tím způsobem je "objekt". Dialogue: 0,0:01:03.12,0:01:07.93,Default,,0000,0000,0000,,To znamená, že namísto pěti \Nproměnných nám stačí jedna, Dialogue: 0,0:01:07.93,0:01:11.16,Default,,0000,0000,0000,,která všechny naše \Ninformace uloží pohromadě. Dialogue: 0,0:01:11.62,0:01:14.56,Default,,0000,0000,0000,,Pojďme si to vyzkoušet\Nna Winstonových informacích. Dialogue: 0,0:01:14.56,0:01:18.67,Default,,0000,0000,0000,,Nejdříve si vytvoříme proměnnou \Na nazveme ji Winston. Dialogue: 0,0:01:18.67,0:01:21.15,Default,,0000,0000,0000,,Poté vložíme složené závorky. Dialogue: 0,0:01:21.15,0:01:23.40,Default,,0000,0000,0000,,Dejte si pozor, aby byly\Nsložené a ne hranaté. Dialogue: 0,0:01:23.40,0:01:25.51,Default,,0000,0000,0000,,A na konec dáme prostředník. Dialogue: 0,0:01:25.51,0:01:27.11,Default,,0000,0000,0000,,Vytvořili jsme objekt! Dialogue: 0,0:01:27.11,0:01:31.05,Default,,0000,0000,0000,,Neobsahuje ale žádné informace. Dialogue: 0,0:01:31.91,0:01:35.52,Default,,0000,0000,0000,,Aby nějaké informace obsahoval,\Nmusíme mu dát nějaké vlastnosti. Dialogue: 0,0:01:35.52,0:01:37.67,Default,,0000,0000,0000,,A každá vlastnost se skládá\Nz klíče a hodnoty. Dialogue: 0,0:01:37.67,0:01:41.30,Default,,0000,0000,0000,,Věk napíšeme následovně:\Nage: 19. Dialogue: 0,0:01:42.10,0:01:47.03,Default,,0000,0000,0000,,A oči napíšeme takhle:\Neyes: "black" Dialogue: 0,0:01:48.04,0:01:52.74,Default,,0000,0000,0000,,Winston má teď uvnitř\Nsvého objektu dvě vlastnosti. Dialogue: 0,0:01:52.74,0:01:58.79,Default,,0000,0000,0000,,Pro koníčky napíšeme "likes: "\Na překopírujeme horní část kódu. Dialogue: 0,0:02:00.81,0:02:04.00,Default,,0000,0000,0000,,Takže Winston už má \Ntři vlastnosti. Dialogue: 0,0:02:04.00,0:02:08.32,Default,,0000,0000,0000,,Každá z vlastností má klíč,\Nkterý je na levé straně, Dialogue: 0,0:02:08.32,0:02:12.80,Default,,0000,0000,0000,,a pak hodnotu,\Nkterá je na pravé straně. Dialogue: 0,0:02:12.80,0:02:16.27,Default,,0000,0000,0000,,Pro klíč platí stejná pravidla jako \Npro jména proměnných v JavaScriptu. Dialogue: 0,0:02:16.27,0:02:20.10,Default,,0000,0000,0000,,Žádné mezery, začínáme \Npísmenem a tak dále. Dialogue: 0,0:02:20.59,0:02:22.06,Default,,0000,0000,0000,,Co se týče hodnoty, Dialogue: 0,0:02:22.06,0:02:25.23,Default,,0000,0000,0000,,může se jednat o jakoukoli hodnotu,\Nna kterou jsme zatím narazili. Dialogue: 0,0:02:25.23,0:02:27.12,Default,,0000,0000,0000,,Může to být číslo, řetězec, pole... Dialogue: 0,0:02:27.12,0:02:29.55,Default,,0000,0000,0000,,Mohl by to dokonce být i boolean. Dialogue: 0,0:02:29.55,0:02:34.13,Default,,0000,0000,0000,,Můžeme napsat "isCool: true",\Ncož je samozřejmě pravda. Dialogue: 0,0:02:34.13,0:02:38.40,Default,,0000,0000,0000,,Popravdě můžeme jako hodnotu \Npoužít i nějaký jiný objekt. Dialogue: 0,0:02:38.40,0:02:41.84,Default,,0000,0000,0000,,Například město a stát \Nnarození jsou informace, Dialogue: 0,0:02:41.84,0:02:43.27,Default,,0000,0000,0000,,které popisují tu samou věc. Dialogue: 0,0:02:43.27,0:02:45.40,Default,,0000,0000,0000,,Jedno a to samé místo. Dialogue: 0,0:02:45.40,0:02:48.81,Default,,0000,0000,0000,,Dávalo by proto smysl, abychom \Nhodnotu uložili jako objekt. Dialogue: 0,0:02:48.81,0:02:51.04,Default,,0000,0000,0000,,Přidám další klíč,\Nmísto narození. Dialogue: 0,0:02:51.04,0:02:54.84,Default,,0000,0000,0000,,A jako hodnotu nejdřív \Nvložím složené závorky. Dialogue: 0,0:02:54.84,0:02:58.38,Default,,0000,0000,0000,,Uvnitř pak budu mít klíč\Npro město, "city: ". Dialogue: 0,0:02:58.38,0:03:00.72,Default,,0000,0000,0000,,"Mountain View" Dialogue: 0,0:03:00.72,0:03:02.85,Default,,0000,0000,0000,,A stát, "state: ". Dialogue: 0,0:03:02.85,0:03:04.05,Default,,0000,0000,0000,,"California". Dialogue: 0,0:03:05.49,0:03:09.91,Default,,0000,0000,0000,,A teď už můžete do objektu\Nukládat celkem detailní informace. Dialogue: 0,0:03:11.03,0:03:13.28,Default,,0000,0000,0000,,A protože už máme \Ntento pěkný objekt, Dialogue: 0,0:03:13.28,0:03:15.64,Default,,0000,0000,0000,,který o Winstonovi \Nprozrazuje zajímavé informace, Dialogue: 0,0:03:15.64,0:03:20.25,Default,,0000,0000,0000,,můžeme všechny tyto \Nzastaralé proměnné smazat. Dialogue: 0,0:03:23.07,0:03:26.19,Default,,0000,0000,0000,,A dostali jsme chybové hlášení! Dialogue: 0,0:03:26.19,0:03:30.18,Default,,0000,0000,0000,,Je to kvůli tomu, že naše textové \Npříkazy odkazují na staré proměnné. Dialogue: 0,0:03:30.18,0:03:34.50,Default,,0000,0000,0000,,Musíme informace aktualizovat\Na použít informace z objektu. Dialogue: 0,0:03:34.50,0:03:38.22,Default,,0000,0000,0000,,Začneme tím, že zakomentujeme\Nposlední tři řádky kódu, Dialogue: 0,0:03:38.22,0:03:40.56,Default,,0000,0000,0000,,abychom je mohli \Naktualizovat jeden po druhém. Dialogue: 0,0:03:41.15,0:03:46.11,Default,,0000,0000,0000,,Momentálně zde máme "winstonAge"\Na potřebujeme to něčím nahradit. Dialogue: 0,0:03:46.11,0:03:49.48,Default,,0000,0000,0000,,Nejprve napíšeme "winston",\Ncož je název proměnné. Dialogue: 0,0:03:49.48,0:03:53.83,Default,,0000,0000,0000,,Všimněte si, že pokud to necháme tak,\Ndostaneme hlášení "object Object". Dialogue: 0,0:03:53.83,0:03:55.16,Default,,0000,0000,0000,,A to není vůbec hezké. Dialogue: 0,0:03:55.16,0:03:56.93,Default,,0000,0000,0000,,Je to zpráva JavaScriptu, Dialogue: 0,0:03:56.93,0:04:01.04,Default,,0000,0000,0000,,která nám říká, že se snažíme převést \Ncelý objekt do řetězcové hodnoty. Dialogue: 0,0:04:01.04,0:04:05.05,Default,,0000,0000,0000,,My se ale snažíme získat\Npouze vnitřní hodnotu pro věk. Dialogue: 0,0:04:05.05,0:04:09.17,Default,,0000,0000,0000,,Takže za to napíšeme tečku,\N"winston." a napíšeme název klíče. Dialogue: 0,0:04:09.17,0:04:11.06,Default,,0000,0000,0000,,Klíčem je "age". Dialogue: 0,0:04:11.06,0:04:13.40,Default,,0000,0000,0000,,A máme věk! Dialogue: 0,0:04:13.40,0:04:14.90,Default,,0000,0000,0000,,Toto se nazývá tečkový zápis. Dialogue: 0,0:04:14.90,0:04:16.25,Default,,0000,0000,0000,,Je to typ zápisu, Dialogue: 0,0:04:16.25,0:04:20.81,Default,,0000,0000,0000,,kdy nejprve napíšeme název proměnné\Nobjektu, tečku a pak klíč dané vlastnosti. Dialogue: 0,0:04:20.81,0:04:23.45,Default,,0000,0000,0000,,Podobně můžeme dodělat zbytek. Dialogue: 0,0:04:23.45,0:04:24.84,Default,,0000,0000,0000,,Tohle odkomentuji. Dialogue: 0,0:04:24.84,0:04:29.36,Default,,0000,0000,0000,,A namísto "winstonEyes" \Nnapíšeme "winston.eyes". Dialogue: 0,0:04:29.36,0:04:34.07,Default,,0000,0000,0000,,A tady to bude "winston.likes". Dialogue: 0,0:04:34.07,0:04:37.34,Default,,0000,0000,0000,,A potom "winston.likes[1]". Dialogue: 0,0:04:37.34,0:04:41.47,Default,,0000,0000,0000,,A pro tento poslední to bude\No trošku komplikovanější, Dialogue: 0,0:04:41.47,0:04:45.45,Default,,0000,0000,0000,,protože se jedná o objekt\Nuvnitř jiného objektu. Dialogue: 0,0:04:45.45,0:04:49.05,Default,,0000,0000,0000,,Napíšeme "winston.birthplace", Dialogue: 0,0:04:49.69,0:04:52.27,Default,,0000,0000,0000,,což ale pořád odkazuje \Nk celému objektu. Dialogue: 0,0:04:52.27,0:04:56.48,Default,,0000,0000,0000,,A proto musíme napsat\N"winston.birthplace.city". Dialogue: 0,0:04:57.46,0:05:01.57,Default,,0000,0000,0000,,A tady napíšeme\N"winston.birthplace.state". Dialogue: 0,0:05:02.60,0:05:03.86,Default,,0000,0000,0000,,Toto se celkem hodí, Dialogue: 0,0:05:03.86,0:05:07.76,Default,,0000,0000,0000,,protože se můžete vnořovat\Ndo objektů, které jsou v objektech. Dialogue: 0,0:05:12.86,0:05:14.19,Default,,0000,0000,0000,,Jak můžete vidět, Dialogue: 0,0:05:14.19,0:05:19.43,Default,,0000,0000,0000,,objekty jsou skvělým způsobem, jak \Nuložit související informace pohromadě. Dialogue: 0,0:05:19.43,0:05:21.42,Default,,0000,0000,0000,,Můžeme je pak později \Nvyhledat a použít. Dialogue: 0,0:05:21.42,0:05:24.59,Default,,0000,0000,0000,,A čím více je budete používat,\Ntím více budete z objektů nadšeni!