From 96876f57d434a78cb4732ad27a8cc0eaa8224dd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulises=20Gasc=C3=B3n?= Date: Wed, 1 Feb 2017 11:29:45 +0000 Subject: [PATCH 1/6] Erratas. Gracias @ymdx. Fix #11 --- manuscript/capitulo4.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manuscript/capitulo4.txt b/manuscript/capitulo4.txt index ab42885..ec80bac 100644 --- a/manuscript/capitulo4.txt +++ b/manuscript/capitulo4.txt @@ -263,7 +263,7 @@ Por otra parte *Switch* tiene varias desventajas notables: ## *[Operador Ternario](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Operadores/Conditional_Operator)* -El *operador ternario (?:)* nos ofrece una manera propia hacer estructuras condicionales. +El *operador ternario (?:)* nos ofrece una manera propia de hacer estructuras condicionales. Este operador simplifica mucho la sintaxis propia de los condicionales, pero se desaconseja su uso para operaciones o evaluaciones múltiples. From 82e78c7b4416771110c6dcca094c15687a3b7371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulises=20Gasc=C3=B3n?= Date: Thu, 2 Mar 2017 09:17:17 +0000 Subject: [PATCH 2/6] Erratas. Gracias @ymdx. Fix #15 --- manuscript/capitulo8.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manuscript/capitulo8.txt b/manuscript/capitulo8.txt index ffb5543..df0fb9f 100644 --- a/manuscript/capitulo8.txt +++ b/manuscript/capitulo8.txt @@ -173,7 +173,7 @@ Hacemos una recopilación simplificada de los métodos más utilizados, aunque e - ***[.isArray()](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/isArray)*** - Retorna un booleano en función que el parámetro es un array o no. + Retorna un booleano en función de si el parámetro es un array o no. {lang=js} ~~~~~~~ @@ -394,7 +394,7 @@ I> encima los siguientes métodos y su funcionamiento... para regresar más adel {lang=js} ~~~~~~~ - function tamañoValido(elemento, indice, arrreglo) { + function tamañoValido(elemento, indice, arreglo) { return elemento >= 10; } [12, 5, 8, 130, 44].some(tamañoValido); // true @@ -407,7 +407,7 @@ I> encima los siguientes métodos y su funcionamiento... para regresar más adel {lang=js} ~~~~~~~ - function tamañoValido(elemento, indice, arrreglo) { + function tamañoValido(elemento, indice, arreglo) { return elemento >= 10; } [12, 5, 8, 130, 44].every(tamañoValido); // false From 935b5c596289b6864b56af1ee30214ea3c5e0ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulises=20Gasc=C3=B3n?= Date: Thu, 2 Mar 2017 09:22:10 +0000 Subject: [PATCH 3/6] Erratas. Gracias @ymdx. Fix #16 --- manuscript/capitulo9.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/manuscript/capitulo9.txt b/manuscript/capitulo9.txt index 16369b8..cab55f0 100644 --- a/manuscript/capitulo9.txt +++ b/manuscript/capitulo9.txt @@ -131,7 +131,8 @@ Hacemos una recopilación simplificada de los métodos más utilizados, aunque e Object.defineProperties(miObjeto, { "propiedad1": { value: true, - writable: true + writable: true, + value: "Propiedad1 original..." }, "propiedad2": { value: "Cadena de texto", @@ -139,8 +140,8 @@ Hacemos una recopilación simplificada de los métodos más utilizados, aunque e } }); console.info(miObjeto); - miObjeto.propiedad = "Propiedad original Modificada"; - console.info(miObjeto.propiedad); + miObjeto.propiedad1 = "Propiedad1 original Modificada"; + console.info(miObjeto.propiedad1); miObjeto.propiedad2 = "Cadena de texto... ¿modificada?"; console.info(miObjeto.propiedad2); ~~~~~~~ @@ -348,4 +349,4 @@ objetoAbreviado.propiedad1; Un buen manejo de objetos, nos dará las claves para poder tener una estructura de datos eficiente en nuestra aplicación y en las *[comunicaciones cliente-servidor](https://es.wikipedia.org/wiki/Cliente-servidor)*. I> Los objetos, sientan las bases sobre las que luego almacenaremos mucha más información, -I> en el capítulo 13, veremos mucho más sobre esto. +I> en el capítulo 12, veremos mucho más sobre esto. From 0e113f270609e73daaa9804a4d30f95c308045e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulises=20Gasc=C3=B3n?= Date: Thu, 2 Mar 2017 09:27:23 +0000 Subject: [PATCH 4/6] Erratas. Gracias @ymdx. Fix #17 --- manuscript/capitulo10.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/manuscript/capitulo10.txt b/manuscript/capitulo10.txt index a7f67c9..d85411a 100644 --- a/manuscript/capitulo10.txt +++ b/manuscript/capitulo10.txt @@ -362,14 +362,14 @@ var ambitoGlobal = "Soy una variable Global!"; function miFuncion () { var ambitoLocal = "Soy una variable Local!"; - console.log("Desde local puedo ver ambitoLocal?", ambitoLocal); - console.log("Desde local puedo ver ambitoGlobal?", ambitoGlobal); + console.log("Desde -local- puedo ver ambitoLocal?", ambitoLocal); + console.log("Desde -local- puedo ver ambitoGlobal?", ambitoGlobal); } -console.log("Desde local puedo ver ambitoLocal?", ambitoLocal); +console.log("Desde -global- puedo ver ambitoLocal?", ambitoLocal); //Uncaught ReferenceError: ambitoLocal is not defined(…) -console.log("Desde local puedo ver ambitoGlobal?", ambitoGlobal); +console.log("Desde -global- puedo ver ambitoGlobal?", ambitoGlobal); ~~~~~~~ Este juego de ámbito local y global, puede extenderse en el entorno compartido y aislado de las funciones anidadas. @@ -658,7 +658,7 @@ Cuando en JavaScript se habla de asincronía, lo que realmente esta ocurriendo e I> La mala noticia, es que recaerá en el lector todo el peso de controlar esos caballos I> desbocados. I> La asincronía es tan potente, que no existe otra forma de trabajar sobre Node.js. Por -I> eso Nodejs está concebido -de principio a fin- como un sistema asíncrono. +I> eso Node.js está concebido -de principio a fin- como un sistema asíncrono. Existen muchas formas de manejar la asincronía. From cca0f0643d70a50f1447963ed1bf9872e2c1fbf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulises=20Gasc=C3=B3n?= Date: Thu, 2 Mar 2017 09:28:33 +0000 Subject: [PATCH 5/6] Erratas. Gracias @ymdx. Fix #18 --- manuscript/capitulo11.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manuscript/capitulo11.txt b/manuscript/capitulo11.txt index 420a3ae..b5f4a8e 100644 --- a/manuscript/capitulo11.txt +++ b/manuscript/capitulo11.txt @@ -114,7 +114,7 @@ function informacionSistema(){ ### *[window.screen](https://developer.mozilla.org/en-US/docs/Web/API/Screen)* -Esta API nos permite sacar toda la información disponible de la pantallá (márgenes, profundidad del color...), así podremos bloquear y desbloquear la rotación de la pantalla en el dispositivo. +Esta API nos permite sacar toda la información disponible de la pantalla (márgenes, profundidad del color...), así podremos bloquear y desbloquear la rotación de la pantalla en el dispositivo. {lang=js} @@ -779,7 +779,7 @@ eventos.agregar(document.body, 'click', function (e) { #### Delegación de Eventos -Una de las técnicas más útiles para ahorrar memorIa, es utilizar la *delegación de eventos*, es decir, en vez de poner un evento por cada uno de los elementos que compone una estructura de datos, es preferible hacerlo únicamente, sobre el elemento padre común a todos ellos y simplemente filtrar cuál de los hijos fue disparado. +Una de las técnicas más útiles para ahorrar memoria, es utilizar la *delegación de eventos*, es decir, en vez de poner un evento por cada uno de los elementos que compone una estructura de datos, es preferible hacerlo únicamente, sobre el elemento padre común a todos ellos y simplemente filtrar cuál de los hijos fue disparado. **Modo Clásico (sin delegación)** From c30b42808ac286242984268348338705584c8de8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulises=20Gasc=C3=B3n?= Date: Thu, 2 Mar 2017 09:30:32 +0000 Subject: [PATCH 6/6] Erratas. Gracias @ymdx. Fix #19 --- manuscript/capitulo12.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/manuscript/capitulo12.txt b/manuscript/capitulo12.txt index ed02a09..4e0acbf 100644 --- a/manuscript/capitulo12.txt +++ b/manuscript/capitulo12.txt @@ -44,7 +44,7 @@ Los métodos más utilizados son *GET*, *POST (típico de formularios)*, *PUT* y Cuando nos llega la respuesta del servidor, siempre viene acompañada de un código numérico que nos confirma el resultado de la petición, por ejemplo, el *[mítico error 404](https://www.genbeta.com/web/error-404-not-found-historia-y-hazanas-de-este-mitico-codigo)*, que nos habremos encontrado en multitud de ocasiones navegando por la red. -Estos códigos de estado puede dividirse en cinco categorías principales: +Estos códigos de estado pueden dividirse en cinco categorías principales: - 1xx **Informativas**. - 2xx **Peticiones Correctas**. @@ -55,7 +55,7 @@ Estos códigos de estado puede dividirse en cinco categorías principales: Siendo especialmente importantes para nosotros, los 4xx y los 5xx, ya que nos indican errores que están sucediendo y esto seguramente derive en un tráfico de datos erróneo. -I> Aquí podéis encontrar la *[lista de completa](https://es.wikipedia. +I> Aquí podéis encontrar la *[lista completa](https://es.wikipedia. I> org/wiki/Anexo:C%C3%B3digos_de_estado_HTTP)* y la *[especificación](https://tools.ietf. I> org/html/rfc2616#section-10)*. @@ -79,7 +79,7 @@ Para hacer que todo esto fluya, es necesario comprender que juegan muchos factor Normalmente en el mundo de la web cuando nos referimos a una API, casi siempre hablamos de una API REST, que nos permite a través de una serie de urls y siguiendo una *[metodología CRUD](https://www.wikiwand.com/es/CRUD)*, trabajar con un backend desde el cliente. -Esto permite conseguir datos (peticiones GET), actualizar datos (peticiones PUT), crear nuevos datos (peticiones POST) y eliminar datos (Peticiones Delete). +Esto permite conseguir datos (peticiones GET), actualizar datos (peticiones PUT), crear nuevos datos (peticiones POST) y eliminar datos (peticiones Delete). En la mayoría de los casos, el intercambio de información entre el cliente y servidor se realiza utilizando un formato de intercambio de datos conocido como JSON y no XML como antiguamente. De todo esto hablaremos a lo largo de este último capítulo. @@ -167,7 +167,7 @@ Respuesta 409 Antes de realizar nuestra primera llamada Ajax, veamos como trabajar con JSON. -Para la visualización, validación y conversión dinámica de datos contamos con alguna herramientas muy Útiles. +Para la visualización, validación y conversión dinámica de datos contamos con algunas herramientas muy útiles. - *[JSONLint](http://jsonlint.com/)* - *[JSON Formatter & Validator](https://jsonformatter.curiousconcept.com/)*