[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.90,0:00:03.80,Default,,0000,0000,0000,,He escrito un programa para decirles algunos detalla sobre Dialogue: 0,0:00:03.80,0:00:07.71,Default,,0000,0000,0000,,"Winston", pero no muchos porque a "Winston" le gusta mantener cierto Dialogue: 0,0:00:07.71,0:00:11.87,Default,,0000,0000,0000,,misterio. Así es "Winston". Así que veamos Dialogue: 0,0:00:11.87,0:00:15.33,Default,,0000,0000,0000,,cómo hice este programa. Hice algunas variables en la parte de arriba para almacenar Dialogue: 0,0:00:15.33,0:00:20.03,Default,,0000,0000,0000,,información sobre él. La primera variable almacena un número - su edad - la segunda variable almacena Dialogue: 0,0:00:20.03,0:00:23.96,Default,,0000,0000,0000,,una cadena de caracteres - sus ojos - la tercera tiene un arreglo de cadenas de caracteres, Dialogue: 0,0:00:23.96,0:00:27.91,Default,,0000,0000,0000,,que son cosas que le gusta hacer, y las últimas dos variables almacenan Dialogue: 0,0:00:27.91,0:00:31.07,Default,,0000,0000,0000,,cadenas de caracteres que describen el lugar donde nació. Dialogue: 0,0:00:31.07,0:00:36.11,Default,,0000,0000,0000,,Después aquí abajo, escribí cada una de las variables usando el comando "text" y el nombre de la variable. Dialogue: 0,0:00:36.11,0:00:39.70,Default,,0000,0000,0000,,Y por supuesto, para el arreglo, tengo que acceder a cada uno de los elementos del arreglo Dialogue: 0,0:00:39.70,0:00:43.45,Default,,0000,0000,0000,,usando la notación con corchetes. Genial. Ahora, Dialogue: 0,0:00:43.45,0:00:48.64,Default,,0000,0000,0000,,estas cinco variables describen información sobre el mismo tema: "Winston". Dialogue: 0,0:00:48.64,0:00:52.03,Default,,0000,0000,0000,,Pero las variables no saben que ellas tienen información del mismo tema. Dialogue: 0,0:00:52.03,0:00:55.50,Default,,0000,0000,0000,,Y ya sabes, en Javascript, cuando vas a Dialogue: 0,0:00:55.50,0:00:59.29,Default,,0000,0000,0000,,almacenar muchas piezas de información que están relacionadas, tenemos una mejor manera de hacerlo, Dialogue: 0,0:00:59.29,0:01:03.12,Default,,0000,0000,0000,,que es genial, y se llama objeto. Dialogue: 0,0:01:03.12,0:01:06.80,Default,,0000,0000,0000,,Es decir, en lugar de tener 5 variables, podemos tener una sola Dialogue: 0,0:01:06.80,0:01:11.62,Default,,0000,0000,0000,,variable que almacene toda la información, lo cual es genial. Dialogue: 0,0:01:11.62,0:01:15.17,Default,,0000,0000,0000,,Tratemos de hacerlo con la información de "Winston". En primer lugar, declararemos Dialogue: 0,0:01:15.17,0:01:18.84,Default,,0000,0000,0000,,la variable y la llamaremos "winston". Y luego Dialogue: 0,0:01:18.84,0:01:23.40,Default,,0000,0000,0000,,ponemos una llave que abre - asegúrate de que sea una llave y no un corchete - Dialogue: 0,0:01:23.40,0:01:27.11,Default,,0000,0000,0000,,y un punto y coma. Hemos creado un objeto Dialogue: 0,0:01:27.11,0:01:31.42,Default,,0000,0000,0000,,pero no tiene información dentro. Dialogue: 0,0:01:31.42,0:01:35.67,Default,,0000,0000,0000,,Así que para añadir información, necesitamos añadir propiedades. Dialogue: 0,0:01:35.67,0:01:41.28,Default,,0000,0000,0000,,Y cada propiedad es una llave y un valor. Por ejemplo, la edad, y escribimos "age: 19" (edad: 19). Dialogue: 0,0:01:41.28,0:01:43.79,Default,,0000,0000,0000,,Ok. Y luego para los ojos, vamos a añadir Dialogue: 0,0:01:43.79,0:01:48.04,Default,,0000,0000,0000,,una coma, y luego "eyes: black". (ojos: negros). Ok, bien, Dialogue: 0,0:01:48.04,0:01:52.74,Default,,0000,0000,0000,,ahora "winston" tiene propiedades dentro del objeto. Dialogue: 0,0:01:52.74,0:01:55.61,Default,,0000,0000,0000,,Para sus gustos, podemos ir a "likes:" y Dialogue: 0,0:01:55.61,0:02:00.08,Default,,0000,0000,0000,,voy a copiar y pegar esto desde aquí... y Dialogue: 0,0:02:00.08,0:02:04.00,Default,,0000,0000,0000,,muy bien. Fíjense bien, "winston" ya tiene tres propiedades. Dialogue: 0,0:02:04.00,0:02:07.53,Default,,0000,0000,0000,,Cada propiedad tiene una llave que es esto que está en el lado izquierdo,\N Dialogue: 0,0:02:07.53,0:02:12.80,Default,,0000,0000,0000,,y un valor, que está del lado derecho. Dialogue: 0,0:02:12.80,0:02:15.63,Default,,0000,0000,0000,,Las llaves tienen que cumplir con las mismas reglas que las variables Dialogue: 0,0:02:15.63,0:02:20.32,Default,,0000,0000,0000,,de Javascript. Sin espacios, empezar con una letra, todo eso. Dialogue: 0,0:02:20.32,0:02:22.96,Default,,0000,0000,0000,,Los valores pueden ser de cualquier tipo Dialogue: 0,0:02:22.96,0:02:27.12,Default,,0000,0000,0000,,de los que hemos visto hasta ahora. Pueden ser números, una cadena de caracteres, un arreglo, Dialogue: 0,0:02:27.12,0:02:33.83,Default,,0000,0000,0000,,también puede ser un booleano, así que podemos añadir aquí "isCool: true" (es agradable: verdadero), por supuesto. Dialogue: 0,0:02:33.83,0:02:38.07,Default,,0000,0000,0000,,De hecho, el valor puede ser otro objeto. Dialogue: 0,0:02:38.07,0:02:42.71,Default,,0000,0000,0000,,Así que vemos que "BirthCity" (ciudad de nacimiento) y "BirthState" (estado de nacimiento) en realidad es información relacionada Dialogue: 0,0:02:42.71,0:02:46.62,Default,,0000,0000,0000,,con una misma dirección. Y creo que tiene más sentido Dialogue: 0,0:02:46.62,0:02:51.04,Default,,0000,0000,0000,,si almaceno esta información como un objeto. Añadiré otra llave, "birthplace:" (lugar de nacimiento), Dialogue: 0,0:02:51.04,0:02:54.84,Default,,0000,0000,0000,,y para el valor, tengo que poner llaves de nuevo Dialogue: 0,0:02:54.84,0:02:58.38,Default,,0000,0000,0000,,y dentro voy a tener una llave para la ciudad "city:", Dialogue: 0,0:02:58.38,0:03:02.29,Default,,0000,0000,0000,,y el valor es "Mountain View", y luego el estado "state:" Dialogue: 0,0:03:02.29,0:03:06.77,Default,,0000,0000,0000,,"California". ¡Genial! Así que como puedes ver es posible Dialogue: 0,0:03:06.77,0:03:10.73,Default,,0000,0000,0000,,almacenar información muy importante dentro de un objeto. Dialogue: 0,0:03:10.73,0:03:15.46,Default,,0000,0000,0000,,Muy bien. Ahora que tenemos este objeto tan agradable que describe toda la información sobre "Winston", Dialogue: 0,0:03:15.46,0:03:18.78,Default,,0000,0000,0000,,tratemos de borrar todas estas variables separadas Dialogue: 0,0:03:18.78,0:03:23.07,Default,,0000,0000,0000,,que no saben de la existencia de las otras. Ok. Dialogue: 0,0:03:23.07,0:03:27.04,Default,,0000,0000,0000,,Oh oh. Ahora nos marcó un error. Y es porque nuestros Dialogue: 0,0:03:27.04,0:03:30.74,Default,,0000,0000,0000,,comandos "text" hacen referencia a las variables anteriores. Necesitamos actualizarlos Dialogue: 0,0:03:30.74,0:03:34.20,Default,,0000,0000,0000,,para que ahora despliegue la información que está dentro del objeto. Dialogue: 0,0:03:34.20,0:03:38.22,Default,,0000,0000,0000,,Vamos a empezar poniendo comentarios en los últimos tres para que podamos Dialogue: 0,0:03:38.22,0:03:43.64,Default,,0000,0000,0000,,hacer uno por uno. Ok. Aquí dice "Edad actual de Winston". Dialogue: 0,0:03:43.64,0:03:46.40,Default,,0000,0000,0000,,Lo que tenemos que hacer es reemplazar esto, y escribir Dialogue: 0,0:03:46.40,0:03:50.29,Default,,0000,0000,0000,,"winston" porque es el nombre de la variable. Fíjense Dialogue: 0,0:03:50.29,0:03:53.83,Default,,0000,0000,0000,,que si dejo esto así como está, aquí nos dice "object object". Dialogue: 0,0:03:53.83,0:03:57.37,Default,,0000,0000,0000,,Y eso está mal. Javascript nos está diciendo que estamos tratando de convertir un objeto Dialogue: 0,0:03:57.37,0:04:01.58,Default,,0000,0000,0000,,en una cadena de caracteres. Pero lo que en realidad Dialogue: 0,0:04:01.58,0:04:06.13,Default,,0000,0000,0000,,queremos hacer es acceder a la edad que dice dentro. Así que lo que hacemos es poner Dialogue: 0,0:04:06.13,0:04:11.06,Default,,0000,0000,0000,,un punto, y luego escribimos la llave de la propiedad, que es "age". Dialogue: 0,0:04:11.06,0:04:14.90,Default,,0000,0000,0000,,¡Tan tan! Tenemos la edad. A esto le llamamos "notación de punto", Dialogue: 0,0:04:14.90,0:04:18.28,Default,,0000,0000,0000,,en la que escribimos el nombre de la variable del objeto, y luego un punto, Dialogue: 0,0:04:18.28,0:04:21.79,Default,,0000,0000,0000,,y después la llave de la propiedad. Ok, así que podemos Dialogue: 0,0:04:21.79,0:04:26.24,Default,,0000,0000,0000,,hacer más ahora. Vamos a quitar el comentario de aquí, y luego en lugar de "WinstonEyes", Dialogue: 0,0:04:26.24,0:04:29.88,Default,,0000,0000,0000,,vamos a escribir "winston.eyes", y luego Dialogue: 0,0:04:29.88,0:04:34.07,Default,,0000,0000,0000,,para este otro,escribiremos "winston.likes[0]", Dialogue: 0,0:04:34.07,0:04:37.74,Default,,0000,0000,0000,,y luego "winston.likes[1]", y luego Dialogue: 0,0:04:37.74,0:04:42.50,Default,,0000,0000,0000,,para este último, es un poco más complicado porque Dialogue: 0,0:04:42.50,0:04:45.45,Default,,0000,0000,0000,,es un objeto dentro de otro objeto. Así que vamos a escribir Dialogue: 0,0:04:45.45,0:04:48.78,Default,,0000,0000,0000,,"winston" y luego el punto, y "birthplace", Dialogue: 0,0:04:48.78,0:04:53.29,Default,,0000,0000,0000,,pero si hacemos eso es sólo el objeto completo, así que tenemos que escribir punto y Dialogue: 0,0:04:53.29,0:04:57.46,Default,,0000,0000,0000,,"city". Ok, vamos a hacer esto aquí... "winston", Dialogue: 0,0:04:57.46,0:05:01.57,Default,,0000,0000,0000,,punto "birthplace" punto "state". Dialogue: 0,0:05:01.57,0:05:05.79,Default,,0000,0000,0000,,¡Tan tan! Esto es excelente porque puedes llegar hasta el interior de los objetos Dialogue: 0,0:05:05.79,0:05:09.42,Default,,0000,0000,0000,,que están dentro de un objeto. Muy bien. Dialogue: 0,0:05:10.86,0:05:13.92,Default,,0000,0000,0000,,Asombroso. Entonces como puedes ver, Dialogue: 0,0:05:13.92,0:05:17.60,Default,,0000,0000,0000,,usar objetos es una manera genial de almacenar mucha información relacionada, Dialogue: 0,0:05:17.60,0:05:21.16,Default,,0000,0000,0000,,información sobre un objeto, y que se pueda acceder más tarde. Dialogue: 0,0:05:21.16,0:05:25.33,Default,,0000,0000,0000,,¡Y cuando sigas adelante, vas a saber lo asombrosos que son los objetos!