1 00:00:00,903 --> 00:00:03,803 He escrito un programa para decirles algunos detalla sobre 2 00:00:03,803 --> 00:00:07,709 "Winston", pero no muchos porque a "Winston" le gusta mantener cierto 3 00:00:07,709 --> 00:00:11,870 misterio. Así es "Winston". Así que veamos 4 00:00:11,870 --> 00:00:15,334 cómo hice este programa. Hice algunas variables en la parte de arriba para almacenar 5 00:00:15,334 --> 00:00:20,034 información sobre él. La primera variable almacena un número - su edad - la segunda variable almacena 6 00:00:20,034 --> 00:00:23,955 una cadena de caracteres - sus ojos - la tercera tiene un arreglo de cadenas de caracteres, 7 00:00:23,955 --> 00:00:27,907 que son cosas que le gusta hacer, y las últimas dos variables almacenan 8 00:00:27,907 --> 00:00:31,066 cadenas de caracteres que describen el lugar donde nació. 9 00:00:31,066 --> 00:00:36,110 Después aquí abajo, escribí cada una de las variables usando el comando "text" y el nombre de la variable. 10 00:00:36,110 --> 00:00:39,699 Y por supuesto, para el arreglo, tengo que acceder a cada uno de los elementos del arreglo 11 00:00:39,699 --> 00:00:43,450 usando la notación con corchetes. Genial. Ahora, 12 00:00:43,450 --> 00:00:48,636 estas cinco variables describen información sobre el mismo tema: "Winston". 13 00:00:48,636 --> 00:00:52,028 Pero las variables no saben que ellas tienen información del mismo tema. 14 00:00:52,028 --> 00:00:55,502 Y ya sabes, en Javascript, cuando vas a 15 00:00:55,502 --> 00:00:59,289 almacenar muchas piezas de información que están relacionadas, tenemos una mejor manera de hacerlo, 16 00:00:59,289 --> 00:01:03,125 que es genial, y se llama objeto. 17 00:01:03,125 --> 00:01:06,795 Es decir, en lugar de tener 5 variables, podemos tener una sola 18 00:01:06,795 --> 00:01:11,623 variable que almacene toda la información, lo cual es genial. 19 00:01:11,623 --> 00:01:15,169 Tratemos de hacerlo con la información de "Winston". En primer lugar, declararemos 20 00:01:15,169 --> 00:01:18,837 la variable y la llamaremos "winston". Y luego 21 00:01:18,837 --> 00:01:23,399 ponemos una llave que abre - asegúrate de que sea una llave y no un corchete - 22 00:01:23,399 --> 00:01:27,107 y un punto y coma. Hemos creado un objeto 23 00:01:27,107 --> 00:01:31,419 pero no tiene información dentro. 24 00:01:31,419 --> 00:01:35,668 Así que para añadir información, necesitamos añadir propiedades. 25 00:01:35,668 --> 00:01:41,276 Y cada propiedad es una llave y un valor. Por ejemplo, la edad, y escribimos "age: 19" (edad: 19). 26 00:01:41,276 --> 00:01:43,789 Ok. Y luego para los ojos, vamos a añadir 27 00:01:43,789 --> 00:01:48,039 una coma, y luego "eyes: black". (ojos: negros). Ok, bien, 28 00:01:48,039 --> 00:01:52,742 ahora "winston" tiene propiedades dentro del objeto. 29 00:01:52,742 --> 00:01:55,607 Para sus gustos, podemos ir a "likes:" y 30 00:01:55,607 --> 00:02:00,076 voy a copiar y pegar esto desde aquí... y 31 00:02:00,076 --> 00:02:04,000 muy bien. Fíjense bien, "winston" ya tiene tres propiedades. 32 00:02:04,000 --> 00:02:07,527 Cada propiedad tiene una llave que es esto que está en el lado izquierdo, 33 00:02:07,527 --> 00:02:12,796 y un valor, que está del lado derecho. 34 00:02:12,796 --> 00:02:15,632 Las llaves tienen que cumplir con las mismas reglas que las variables 35 00:02:15,632 --> 00:02:20,319 de Javascript. Sin espacios, empezar con una letra, todo eso. 36 00:02:20,319 --> 00:02:22,960 Los valores pueden ser de cualquier tipo 37 00:02:22,960 --> 00:02:27,124 de los que hemos visto hasta ahora. Pueden ser números, una cadena de caracteres, un arreglo, 38 00:02:27,124 --> 00:02:33,826 también puede ser un booleano, así que podemos añadir aquí "isCool: true" (es agradable: verdadero), por supuesto. 39 00:02:33,826 --> 00:02:38,068 De hecho, el valor puede ser otro objeto. 40 00:02:38,068 --> 00:02:42,709 Así que vemos que "BirthCity" (ciudad de nacimiento) y "BirthState" (estado de nacimiento) en realidad es información relacionada 41 00:02:42,709 --> 00:02:46,616 con una misma dirección. Y creo que tiene más sentido 42 00:02:46,616 --> 00:02:51,042 si almaceno esta información como un objeto. Añadiré otra llave, "birthplace:" (lugar de nacimiento), 43 00:02:51,042 --> 00:02:54,836 y para el valor, tengo que poner llaves de nuevo 44 00:02:54,836 --> 00:02:58,376 y dentro voy a tener una llave para la ciudad "city:", 45 00:02:58,376 --> 00:03:02,287 y el valor es "Mountain View", y luego el estado "state:" 46 00:03:02,287 --> 00:03:06,766 "California". ¡Genial! Así que como puedes ver es posible 47 00:03:06,766 --> 00:03:10,733 almacenar información muy importante dentro de un objeto. 48 00:03:10,733 --> 00:03:15,459 Muy bien. Ahora que tenemos este objeto tan agradable que describe toda la información sobre "Winston", 49 00:03:15,459 --> 00:03:18,783 tratemos de borrar todas estas variables separadas 50 00:03:18,783 --> 00:03:23,066 que no saben de la existencia de las otras. Ok. 51 00:03:23,066 --> 00:03:27,039 Oh oh. Ahora nos marcó un error. Y es porque nuestros 52 00:03:27,039 --> 00:03:30,739 comandos "text" hacen referencia a las variables anteriores. Necesitamos actualizarlos 53 00:03:30,739 --> 00:03:34,202 para que ahora despliegue la información que está dentro del objeto. 54 00:03:34,202 --> 00:03:38,218 Vamos a empezar poniendo comentarios en los últimos tres para que podamos 55 00:03:38,218 --> 00:03:43,642 hacer uno por uno. Ok. Aquí dice "Edad actual de Winston". 56 00:03:43,642 --> 00:03:46,396 Lo que tenemos que hacer es reemplazar esto, y escribir 57 00:03:46,396 --> 00:03:50,293 "winston" porque es el nombre de la variable. Fíjense 58 00:03:50,293 --> 00:03:53,834 que si dejo esto así como está, aquí nos dice "object object". 59 00:03:53,834 --> 00:03:57,369 Y eso está mal. Javascript nos está diciendo que estamos tratando de convertir un objeto 60 00:03:57,369 --> 00:04:01,579 en una cadena de caracteres. Pero lo que en realidad 61 00:04:01,579 --> 00:04:06,134 queremos hacer es acceder a la edad que dice dentro. Así que lo que hacemos es poner 62 00:04:06,134 --> 00:04:11,063 un punto, y luego escribimos la llave de la propiedad, que es "age". 63 00:04:11,063 --> 00:04:14,897 ¡Tan tan! Tenemos la edad. A esto le llamamos "notación de punto", 64 00:04:14,897 --> 00:04:18,284 en la que escribimos el nombre de la variable del objeto, y luego un punto, 65 00:04:18,284 --> 00:04:21,791 y después la llave de la propiedad. Ok, así que podemos 66 00:04:21,791 --> 00:04:26,244 hacer más ahora. Vamos a quitar el comentario de aquí, y luego en lugar de "WinstonEyes", 67 00:04:26,244 --> 00:04:29,877 vamos a escribir "winston.eyes", y luego 68 00:04:29,877 --> 00:04:34,074 para este otro,escribiremos "winston.likes[0]", 69 00:04:34,074 --> 00:04:37,741 y luego "winston.likes[1]", y luego 70 00:04:37,741 --> 00:04:42,501 para este último, es un poco más complicado porque 71 00:04:42,501 --> 00:04:45,451 es un objeto dentro de otro objeto. Así que vamos a escribir 72 00:04:45,451 --> 00:04:48,784 "winston" y luego el punto, y "birthplace", 73 00:04:48,784 --> 00:04:53,288 pero si hacemos eso es sólo el objeto completo, así que tenemos que escribir punto y 74 00:04:53,288 --> 00:04:57,455 "city". Ok, vamos a hacer esto aquí... "winston", 75 00:04:57,455 --> 00:05:01,572 punto "birthplace" punto "state". 76 00:05:01,572 --> 00:05:05,791 ¡Tan tan! Esto es excelente porque puedes llegar hasta el interior de los objetos 77 00:05:05,791 --> 00:05:09,416 que están dentro de un objeto. Muy bien. 78 00:05:10,863 --> 00:05:13,919 Asombroso. Entonces como puedes ver, 79 00:05:13,919 --> 00:05:17,597 usar objetos es una manera genial de almacenar mucha información relacionada, 80 00:05:17,597 --> 00:05:21,162 información sobre un objeto, y que se pueda acceder más tarde. 81 00:05:21,162 --> 00:05:25,332 ¡Y cuando sigas adelante, vas a saber lo asombrosos que son los objetos!