diff --git a/1-js/01-getting-started/1-intro/article.md b/1-js/01-getting-started/1-intro/article.md index 7f96062b9..82673fbb8 100644 --- a/1-js/01-getting-started/1-intro/article.md +++ b/1-js/01-getting-started/1-intro/article.md @@ -72,8 +72,13 @@ Ejemplos de tales restricciones incluyen: Esta restricción es conocida como "política del mismo origen" ("Same Origin Policy"). Es posible la comunicación, pero ambas páginas deben acordar el intercambio de datos y también deben contener el código especial de JavaScript que permite controlarlo. Cubriremos esto en el tutorial. +<<<<<<< HEAD De nuevo: esta limitación es para la seguridad del usuario. Una página de `http://algunsitio.com`, que el usuario haya abierto, no debe ser capaz de acceder a otra pestaña del navegador con la URL `http://gmail.com` y robar la información de esta otra página. - JavaScript puede fácilmente comunicarse a través de la red con el servidor de donde la página actual proviene. Pero su capacidad para recibir información de otros sitios y dominios está bloqueada. Aunque sea posible, esto requiere un acuerdo explícito (expresado en los encabezados HTTP) desde el sitio remoto. Una vez más: esto es una limitación de seguridad. +======= + This limitation is, again, for the user's safety. A page from `http://anysite.com` which a user has opened must not be able to access another browser tab with the URL `http://gmail.com`, for example, and steal information from there. +- JavaScript can easily communicate over the net to the server where the current page came from. But its ability to receive data from other sites/domains is severely limited. Though possible, it requires explicit agreement (expressed in HTTP headers) from the remote side. Once again, that's a safety limitation. +>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf ![](limitations.svg) diff --git a/1-js/02-first-steps/04-variables/article.md b/1-js/02-first-steps/04-variables/article.md index 767d3d323..d1bfd88e8 100644 --- a/1-js/02-first-steps/04-variables/article.md +++ b/1-js/02-first-steps/04-variables/article.md @@ -172,7 +172,11 @@ let userName; let test123; ``` +<<<<<<< HEAD Cuando el nombre contiene varias palabras, se suele usar el estilo [camelCase](https://es.wikipedia.org/wiki/Camel_case) (capitalización en camello), donde las palabras van pegadas una detrás de otra, con cada inicial en mayúscula: `miNombreMuyLargo`. +======= +When the name contains multiple words, [camelCase](https://en.wikipedia.org/wiki/CamelCase) is commonly used. That is: words go one after another, with each word except the first starting with a capital letter: `myVeryLongName`. +>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf Es interesante notar que el símbolo del dólar `'$'` y el guion bajo `'_'` también se utilizan en nombres. Son símbolos comunes, tal como las letras, sin ningún significado especial. diff --git a/1-js/02-first-steps/08-operators/article.md b/1-js/02-first-steps/08-operators/article.md index 8a78dbf70..1ea078aa6 100644 --- a/1-js/02-first-steps/08-operators/article.md +++ b/1-js/02-first-steps/08-operators/article.md @@ -266,7 +266,11 @@ alert( c ); // 4 Las asignaciones encadenadas evalúan de derecha a izquierda. Primero, se evalúa la expresión más a la derecha `2 + 2` y luego se asigna a las variables de la izquierda: `c`, `b` y `a`. Al final, todas las variables comparten un solo valor. +<<<<<<< HEAD Una vez más, con el propósito de la legibilidad es mejor separa tal código en unas pocas líneas: +======= +Once again, for the purposes of readability it's better to split such code into a few lines: +>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf ```js c = 2 + 2; diff --git a/1-js/03-code-quality/02-coding-style/1-style-errors/solution.md b/1-js/03-code-quality/02-coding-style/1-style-errors/solution.md index 3efbf41c5..7b49efd76 100644 --- a/1-js/03-code-quality/02-coding-style/1-style-errors/solution.md +++ b/1-js/03-code-quality/02-coding-style/1-style-errors/solution.md @@ -2,6 +2,7 @@ Podrías notar lo siguiente: ```js no-beautify +<<<<<<< HEAD function pow(x,n) // <- sin espacio entre argumentos { // <- llave en una línea separada let result=1; // <- sin espacios antes o después de = @@ -15,6 +16,21 @@ let x=prompt("x?",''), n=prompt("n?",'') // <-- técnicamente posible, if (n<0) // <- sin espacios dentro (n < 0), y debe haber una línea extra por encima { // <- llave en una línea separada // debajo - las líneas largas se pueden dividir en varias líneas para mejorar la legibilidad +======= +function pow(x,n) // <- no space between arguments +{ // <- curly brace on a separate line + let result=1; // <- no spaces before or after = + for(let i=0;i>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf alert(`Power ${n} is not supported, please enter an integer number greater than zero`); } else // <- podría escribirlo en una sola línea como "} else {" diff --git a/1-js/04-object-basics/01-object/article.md b/1-js/04-object-basics/01-object/article.md index 03769ce84..0b913c3a3 100644 --- a/1-js/04-object-basics/01-object/article.md +++ b/1-js/04-object-basics/01-object/article.md @@ -5,7 +5,11 @@ Como aprendimos en el capítulo , hay ocho tipos de datos en JavaScr En contraste, los objetos son usados para almacenar colecciones de varios datos y entidades más complejas asociados con un nombre clave. En JavaScript, los objetos penetran casi todos los aspectos del lenguaje. Por lo tanto, debemos comprenderlos primero antes de profundizar en cualquier otro lugar. +<<<<<<< HEAD Podemos crear un objeto usando las llaves `{…}` con una lista opcional de *propiedades*. Una propiedad es un par "key:value", donde `key` es un string (también llamado "nombre clave"), y `value` puede ser cualquier cosa. P.D. Para fines prácticos de la lección, nos referiremos a este par de conceptos como "clave:valor". +======= +An object can be created with curly braces `{…}` with an optional list of *properties*. A property is a "key: value" pair, where `key` is a string (also called a "property name"), and `value` can be anything. +>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf Podemos imaginar un objeto como un gabinete con archivos firmados. Cada pieza de datos es almacenada en su archivo por la clave. Es fácil encontrar un archivo por su nombre o agregar/eliminar un archivo. @@ -20,7 +24,11 @@ let user = {}; // sintaxis de "objeto literal" ![](object-user-empty.svg) +<<<<<<< HEAD Normalmente se utilizan las llaves `{...}`. Esa declaración se llama *objeto literal*. +======= +Usually, the curly braces `{...}` are used. That declaration is called an *object literal*. +>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf ## Literales y propiedades diff --git a/1-js/05-data-types/10-destructuring-assignment/article.md b/1-js/05-data-types/10-destructuring-assignment/article.md index ca141a835..b30baf14d 100644 --- a/1-js/05-data-types/10-destructuring-assignment/article.md +++ b/1-js/05-data-types/10-destructuring-assignment/article.md @@ -80,8 +80,13 @@ Esto funciona, porque internamente una desestructuración trabaja iterando sobre ```` +<<<<<<< HEAD ````smart header="Asignar a cualquier cosa en el lado izquierdo" Podemos usar cualquier "asignable" en el lado izquierdo. +======= +````smart header="Assign to anything on the left-side" +We can use any "assignables" on the left side. +>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf Por ejemplo, una propiedad de objeto: ```js run diff --git a/1-js/06-advanced-functions/08-settimeout-setinterval/article.md b/1-js/06-advanced-functions/08-settimeout-setinterval/article.md index ff56ead7d..6646feff6 100644 --- a/1-js/06-advanced-functions/08-settimeout-setinterval/article.md +++ b/1-js/06-advanced-functions/08-settimeout-setinterval/article.md @@ -218,7 +218,11 @@ Y aquí está la imagen para el `setTimeout` anidado: ![](settimeout-interval.svg) +<<<<<<< HEAD **El `setTimeout` anidado garantiza el retraso fijo (aquí 100ms).** +======= +**The nested `setTimeout` ensures a minimum delay (100ms here) between the end of one call and the beginning of the subsequent one.** +>>>>>>> 52c1e61915bc8970a950a3f59bd845827e49b4bf Esto se debe a que se planea una nueva llamada al final de la anterior.