0:00:00.903,0:00:03.803 He escrito un programa para decirles algunos detalla sobre 0:00:03.803,0:00:07.709 "Winston", pero no muchos porque a "Winston" le gusta mantener cierto 0:00:07.709,0:00:11.870 misterio. Así es "Winston". Así que veamos 0:00:11.870,0:00:15.334 cómo hice este programa. Hice algunas variables en la parte de arriba para almacenar 0:00:15.334,0:00:20.034 información sobre él. La primera variable almacena un número - su edad - la segunda variable almacena 0:00:20.034,0:00:23.955 una cadena de caracteres - sus ojos - la tercera tiene un arreglo de cadenas de caracteres, 0:00:23.955,0:00:27.907 que son cosas que le gusta hacer, y las últimas dos variables almacenan 0:00:27.907,0:00:31.066 cadenas de caracteres que describen el lugar donde nació. 0:00:31.066,0:00:36.110 Después aquí abajo, escribí cada una de las variables usando el comando "text" y el nombre de la variable. 0:00:36.110,0:00:39.699 Y por supuesto, para el arreglo, tengo que acceder a cada uno de los elementos del arreglo 0:00:39.699,0:00:43.450 usando la notación con corchetes. Genial. Ahora, 0:00:43.450,0:00:48.636 estas cinco variables describen información sobre el mismo tema: "Winston". 0:00:48.636,0:00:52.028 Pero las variables no saben que ellas tienen información del mismo tema. 0:00:52.028,0:00:55.502 Y ya sabes, en Javascript, cuando vas a 0:00:55.502,0:00:59.289 almacenar muchas piezas de información que están relacionadas, tenemos una mejor manera de hacerlo, 0:00:59.289,0:01:03.125 que es genial, y se llama objeto. 0:01:03.125,0:01:06.795 Es decir, en lugar de tener 5 variables, podemos tener una sola 0:01:06.795,0:01:11.623 variable que almacene toda la información, lo cual es genial. 0:01:11.623,0:01:15.169 Tratemos de hacerlo con la información de "Winston". En primer lugar, declararemos 0:01:15.169,0:01:18.837 la variable y la llamaremos "winston". Y luego 0:01:18.837,0:01:23.399 ponemos una llave que abre - asegúrate de que sea una llave y no un corchete - 0:01:23.399,0:01:27.107 y un punto y coma. Hemos creado un objeto 0:01:27.107,0:01:31.419 pero no tiene información dentro. 0:01:31.419,0:01:35.668 Así que para añadir información, necesitamos añadir propiedades. 0:01:35.668,0:01:41.276 Y cada propiedad es una llave y un valor. Por ejemplo, la edad, y escribimos "age: 19" (edad: 19). 0:01:41.276,0:01:43.789 Ok. Y luego para los ojos, vamos a añadir 0:01:43.789,0:01:48.039 una coma, y luego "eyes: black". (ojos: negros). Ok, bien, 0:01:48.039,0:01:52.742 ahora "winston" tiene propiedades dentro del objeto. 0:01:52.742,0:01:55.607 Para sus gustos, podemos ir a "likes:" y 0:01:55.607,0:02:00.076 voy a copiar y pegar esto desde aquí... y 0:02:00.076,0:02:04.000 muy bien. Fíjense bien, "winston" ya tiene tres propiedades. 0:02:04.000,0:02:07.527 Cada propiedad tiene una llave que es esto que está en el lado izquierdo,[br] 0:02:07.527,0:02:12.796 y un valor, que está del lado derecho. 0:02:12.796,0:02:15.632 Las llaves tienen que cumplir con las mismas reglas que las variables 0:02:15.632,0:02:20.319 de Javascript. Sin espacios, empezar con una letra, todo eso. 0:02:20.319,0:02:22.960 Los valores pueden ser de cualquier tipo 0:02:22.960,0:02:27.124 de los que hemos visto hasta ahora. Pueden ser números, una cadena de caracteres, un arreglo, 0:02:27.124,0:02:33.826 también puede ser un booleano, así que podemos añadir aquí "isCool: true" (es agradable: verdadero), por supuesto. 0:02:33.826,0:02:38.068 De hecho, el valor puede ser otro objeto. 0:02:38.068,0:02:42.709 Así que vemos que "BirthCity" (ciudad de nacimiento) y "BirthState" (estado de nacimiento) en realidad es información relacionada 0:02:42.709,0:02:46.616 con una misma dirección. Y creo que tiene más sentido 0:02:46.616,0:02:51.042 si almaceno esta información como un objeto. Añadiré otra llave, "birthplace:" (lugar de nacimiento), 0:02:51.042,0:02:54.836 y para el valor, tengo que poner llaves de nuevo 0:02:54.836,0:02:58.376 y dentro voy a tener una llave para la ciudad "city:", 0:02:58.376,0:03:02.287 y el valor es "Mountain View", y luego el estado "state:" 0:03:02.287,0:03:06.766 "California". ¡Genial! Así que como puedes ver es posible 0:03:06.766,0:03:10.733 almacenar información muy importante dentro de un objeto. 0:03:10.733,0:03:15.459 Muy bien. Ahora que tenemos este objeto tan agradable que describe toda la información sobre "Winston", 0:03:15.459,0:03:18.783 tratemos de borrar todas estas variables separadas 0:03:18.783,0:03:23.066 que no saben de la existencia de las otras. Ok. 0:03:23.066,0:03:27.039 Oh oh. Ahora nos marcó un error. Y es porque nuestros 0:03:27.039,0:03:30.739 comandos "text" hacen referencia a las variables anteriores. Necesitamos actualizarlos 0:03:30.739,0:03:34.202 para que ahora despliegue la información que está dentro del objeto. 0:03:34.202,0:03:38.218 Vamos a empezar poniendo comentarios en los últimos tres para que podamos 0:03:38.218,0:03:43.642 hacer uno por uno. Ok. Aquí dice "Edad actual de Winston". 0:03:43.642,0:03:46.396 Lo que tenemos que hacer es reemplazar esto, y escribir 0:03:46.396,0:03:50.293 "winston" porque es el nombre de la variable. Fíjense 0:03:50.293,0:03:53.834 que si dejo esto así como está, aquí nos dice "object object". 0:03:53.834,0:03:57.369 Y eso está mal. Javascript nos está diciendo que estamos tratando de convertir un objeto 0:03:57.369,0:04:01.579 en una cadena de caracteres. Pero lo que en realidad 0:04:01.579,0:04:06.134 queremos hacer es acceder a la edad que dice dentro. Así que lo que hacemos es poner 0:04:06.134,0:04:11.063 un punto, y luego escribimos la llave de la propiedad, que es "age". 0:04:11.063,0:04:14.897 ¡Tan tan! Tenemos la edad. A esto le llamamos "notación de punto", 0:04:14.897,0:04:18.284 en la que escribimos el nombre de la variable del objeto, y luego un punto, 0:04:18.284,0:04:21.791 y después la llave de la propiedad. Ok, así que podemos 0:04:21.791,0:04:26.244 hacer más ahora. Vamos a quitar el comentario de aquí, y luego en lugar de "WinstonEyes", 0:04:26.244,0:04:29.877 vamos a escribir "winston.eyes", y luego 0:04:29.877,0:04:34.074 para este otro,escribiremos "winston.likes[0]", 0:04:34.074,0:04:37.741 y luego "winston.likes[1]", y luego 0:04:37.741,0:04:42.501 para este último, es un poco más complicado porque 0:04:42.501,0:04:45.451 es un objeto dentro de otro objeto. Así que vamos a escribir 0:04:45.451,0:04:48.784 "winston" y luego el punto, y "birthplace", 0:04:48.784,0:04:53.288 pero si hacemos eso es sólo el objeto completo, así que tenemos que escribir punto y 0:04:53.288,0:04:57.455 "city". Ok, vamos a hacer esto aquí... "winston", 0:04:57.455,0:05:01.572 punto "birthplace" punto "state". 0:05:01.572,0:05:05.791 ¡Tan tan! Esto es excelente porque puedes llegar hasta el interior de los objetos 0:05:05.791,0:05:09.416 que están dentro de un objeto. Muy bien. 0:05:10.863,0:05:13.919 Asombroso. Entonces como puedes ver, 0:05:13.919,0:05:17.597 usar objetos es una manera genial de almacenar mucha información relacionada, 0:05:17.597,0:05:21.162 información sobre un objeto, y que se pueda acceder más tarde. 0:05:21.162,0:05:25.332 ¡Y cuando sigas adelante, vas a saber lo asombrosos que son los objetos!