Skip to content

Commit b364a89

Browse files
authored
Merge pull request #342 from joaquinelio/revirepo1
rev 1-2-1 a 1-2-5
2 parents 8d28618 + 3c673a3 commit b364a89

File tree

8 files changed

+85
-121
lines changed

8 files changed

+85
-121
lines changed

1-js/02-first-steps/01-hello-world/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ Esto no funcionará:
106106

107107
```html
108108
<script *!*src*/!*="file.js">
109-
alert(1); // el contenido se ignora, porque src se establece
109+
alert(1); // el contenido se ignora porque se estableció src
110110
</script>
111111
```
112112

1-js/02-first-steps/02-structure/article.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ A medida que pasa el tiempo, los programas se vuelven cada vez más complejos. S
100100

101101
Los comentarios se pueden poner en cualquier lugar de un script. No afectan su ejecución porque el motor simplemente los ignora.
102102

103-
104103
**Los comentarios de una línea comienzan con dos caracteres de barra diagonal `//`.**
105104

106105
El resto de la línea es un comentario. Puede ocupar una línea completa propia o seguir una sentencia.
@@ -140,7 +139,7 @@ alert('Mundo');
140139
En la mayoría de los editores, se puede comentar una línea de código presionando `key:Ctrl+/` para un comentario de una sola línea y algo como `key:Ctrl+Shift+/` - para comentarios de varias líneas (selecciona una parte del código y pulsa la tecla de acceso rápido). Para Mac, intenta `key: Cmd` en lugar de `key: Ctrl`.
141140
```
142141

143-
````warn header="¡Los comentarios anidados no son compatibles!"
142+
````warn header="¡Los comentarios anidados no son admitidos!"
144143
No puede haber `/*...*/` dentro de otro `/*...*/`.
145144
146145
Dicho código terminará con un error:

1-js/02-first-steps/03-strict-mode/article.md

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ Por ejemplo:
1919
...
2020
```
2121

22-
Aprenderemos funciones (una manera de agrupar comandos) en breve.
23-
24-
De cara al futuro, tengamos en cuenta que `"use strict"` se puede poner al inicio de la mayoría de los tipos de funciones en lugar del script entero. De esta manera, se activa el modo estricto únicamente en esa función. Pero, normalmente, la gente lo utiliza para el script entero.
22+
Aprenderemos funciones (una manera de agrupar comandos) en breve, pero adelantemos que `"use strict"` se puede poner al inicio de una función. De esta manera, se activa el modo estricto únicamente en esa función. Pero normalmente se utiliza para el script entero.
2523

2624
````warn header="Asegúrate de que \"use strict\" está al inicio"
2725
Por favor, asegúrate de que `"use strict"` está al principio de tus scripts. Si no, el modo estricto podría no estar activado.
@@ -40,21 +38,31 @@ alert("algo de código");
4038
Únicamente pueden aparecer comentarios por encima de `"use strict"`.
4139
````
4240

43-
````warn header="No hay manera de cancelar `use strict`"
41+
```warn header="No hay manera de cancelar `use strict`"
4442
No hay ninguna directiva del tipo `"no use strict"` que haga al motor volver al comportamiento anterior.
4543

4644
Una vez entramos en modo estricto, no hay vuelta atrás.
47-
````
45+
```
4846
4947
## Consola del navegador
5048
51-
A partir de ahora, cuando utilices la consola del navegador para probar características, ten en cuenta que no utiliza `use strict` por defecto.
49+
Cuando utilices la [consola del navegador](info:devtools) para ejecutar código, ten en cuenta que no utiliza `use strict` por defecto.
5250
53-
En ocasiones, cuando `use strict` causa una diferencia, obtendrás resultados incorrectos.
51+
En ocasiones, donde `use strict` cause diferencia, obtendrás resultados incorrectos.
5452
55-
Incluso si pulsamos `key:Shift+Enter` para ingresar múltiples líneas y ponemos `use strict` al principio, no funciona. Esto es por cómo la consola ejecuta el código internamente.
53+
Entonces, ¿como utilizar `use strict` en la consola?
5654
57-
La única manera confiable de asegurar que `use strict` funcionará sería escribir el código en la consola de la siguiente forma:
55+
Primero puedes intentar pulsando `key:Shift+Enter` para ingresar múltiples líneas y poner `use strict` al principio, como aquí:
56+
57+
```js
58+
'use strict'; <Shift+Enter para una nueva línea>
59+
// ...tu código
60+
<Intro para ejecutar>
61+
```
62+
63+
Esto funciona para la mayoría de los navegadores, específicamente Firefox y Chrome.
64+
65+
Si esto no funciona, como en los viejos navegadores, hay una fea pero confiable manera de asegurar `use strict`. Ponlo dentro de esta especie de envoltura:
5866

5967
```js
6068
(function() {
@@ -64,15 +72,18 @@ La única manera confiable de asegurar que `use strict` funcionará sería escri
6472
})()
6573
```
6674

67-
## Utiliza siempre "use strict"
75+
## ¿Deberíamos utilizar "use strict"?
76+
77+
La pregunta podría parecer obvia, pero no lo es.
78+
79+
Uno podría recomentar que se comiencen los script con `"use strict"`... ¿Pero sabes lo que es interesante?
80+
81+
El JavaScript moderno admite "clases" y "módulos", estructuras de lenguaje avanzadas (que seguramente llegaremos a ver), que automáticamente habilitan `use strict`. Entonces no necesitamos agregar la directiva `"use strict"` si las usamos.
6882

69-
Aún tenemos que comentar las diferencias entre el modo estricto y el modo "por defecto".
83+
**Entonces, por ahora `"use strict";` es un invitado bienvenido al tope de tus scripts. Luego, cuando tu código sea todo clases y módulos, puedes omitirlo.**
7084

71-
En los siguientes capítulos, según aprendamos características del lenguaje, veremos las diferencias entre los modos estricto y por defecto. Afortunadamente, no hay tantas y, de hecho, nos hacen la vida más fácil.
85+
A partir de ahora tenemos que saber acerca de `use strict` en general.
7286

73-
De momento, es suficiente saber lo general:
87+
En los siguientes capítulos, a medida que aprendamos características del lenguaje, veremos las diferencias entre el modo estricto y el antiguo. Afortunadamente no hay muchas y realmente hacen nuestra vida mejor.
7488

75-
1. La directiva `"use strict"` cambia el motor de ejecución al modo "moderno", modificando el comportamiento de algunas características incluídas en el lenguaje. Veremos los detalles más adelante.
76-
2. El modo estricto se habilita poniendo `"use strict"` al principio de una función o del script. Varias características del lenguaje, como las "clases" y los "módulos", activan el modo estricto automáticamente.
77-
3. El modo estricto funciona en todos los navegadores modernos.
78-
4. Recomendamos empezar todos los scripts siempre con `"use strict"`. Todos los ejemplos de este tutorial asumen que el modo estricto está activado excepto cuando (muy raramente) se especifica lo contrario.
89+
Todos los ejemplos en este tutorial asumen modo estricto salvo que (muy raramente) se especifique lo contrario.

1-js/02-first-steps/04-variables/2-declare-variables/solution.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Primero, la variable para el nombre de nuestro planeta.
1+
## La variable para nuestro planeta.
22

33
Eso es simple:
44

@@ -8,7 +8,7 @@ let ourPlanetName = "Tierra";
88

99
Nota, podríamos usar un nombre más corto `planeta`, pero podría no ser obvio a qué planeta se refiere. Es una buena idea ser más detallado, siempre y cuando la variable noSeaMuyLarga.
1010

11-
Segundo, el nombre del usuario actual:
11+
## El nombre del usuario actual
1212

1313
```js
1414
let currentUserName = "Juan";

1-js/02-first-steps/04-variables/article.md

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ Una [variable](https://es.wikipedia.org/wiki/Variable_(programaci%C3%B3n))) es u
1414
Para generar una variable en JavaScript, se usa la palabra clave `let`.
1515

1616
La siguiente declaración genera (en otras palabras: *declara* o *define*) una variable con el nombre "message":
17-
1817
```js
1918
let message;
2019
```
@@ -64,14 +63,14 @@ let age = 25;
6463
let message = 'Hola';
6564
```
6665

67-
Algunas personas también definen variables múltiples en es estilo multilínea (multiline):
66+
Algunas personas también definen variables múltiples en estilo multilínea:
6867
```js no-beautify
6968
let user = 'John',
7069
age = 25,
7170
message = 'Hola';
7271
```
7372

74-
...Incluso en este estilo "comma-first":
73+
...Incluso en este estilo "coma primero":
7574

7675
```js no-beautify
7776
let user = 'John'
@@ -81,9 +80,8 @@ let user = 'John'
8180

8281
Técnicamente, todas estas variantes hacen lo mismo. Así que, es cuestión de gusto personal y preferencia estética.
8382

84-
8583
````smart header="`var` en vez de `let`"
86-
En 'scripts' mas viejos, a veces se encuentra la palabra clave `let`:
84+
En scripts más viejos, a veces se encuentra otra palabra clave: `var` en lugar de `let`:
8785

8886
```js
8987
*!*var*/!* mensaje = 'Hola';
@@ -96,7 +94,7 @@ Existen sutiles diferencias entre `let` y `var`, pero no nos constan en este mom
9694
9795
## Una analogía de la vida real
9896
99-
Podemos comprender fácilmente el concepto de una "variable" si nos la imaginamos como una "caja" con una etiqueta de nombre único, pegada en ella.
97+
Podemos comprender fácilmente el concepto de una "variable" si nos la imaginamos como una "caja" con una etiqueta de nombre único pegada en ella.
10098
10199
Por ejemplo, podemos imaginar la variable `message` como una caja etiquetada `"message"` con el valor `"Hola!"` adentro:
102100
@@ -136,20 +134,34 @@ alert(hello); // Hola mundo!
136134
alert(message); // Hola mundo!
137135
```
138136
137+
````warn header="Declarar dos veces lanza un error"
138+
Una variable debería ser declarada solamente una vez.
139+
140+
Una declaración repetida de la misma variable es un error:
141+
142+
```js run
143+
let message = "This";
144+
145+
// 'let' repetidos lleva a un error
146+
let message = "That"; // SyntaxError: 'message' ya fue declarado
147+
```
148+
Debermos declarar una variable una sola vez y desde entonces referirnos a ella sin `let`.
149+
````
150+
139151
```smart header="Lenguajes funcionales"
140152
Es interesante notar el hecho que lenguajes de programación [funcional](https://es.wikipedia.org/wiki/Programaci%C3%B3n_funcional), como [Scala](http://www.scala-lang.org/) o [Erlang](http://www.erlang.org) prohíben cambiar el valor de variables.
141153
142154
En tales lenguajes, una vez la variable ha sido almacenada "en la caja", permanece allí por siempre. Si necesitamos almacenar algo más, el lenguaje nos obliga a crear una nueva caja (generar una nueva variable). No podemos reusar la antigua.
143155
144-
Aunque puede parecer un poco extraño a primera vista, estos lenguajes tienen seria capacidad de desarrollar. Más aún, existen áreas como computación en paralelo en las cuales esta limitación otorga ciertos beneficios. Estudiar tales lenguajes (incluso sin la intención de usarlo en el futuro cercano) es recomendable para ampliar la mente.
156+
Aunque puede parecer un poco extraño a primera vista, estos lenguajes son muy capaces de desarrollo serio. Más aún, existen áreas como computación en paralelo en las cuales esta limitación otorga ciertos beneficios. Estudiar tales lenguajes (incluso sin la intención de usarlo en el futuro cercano) es recomendable para ampliar la mente.
145157
```
146158

147159
## Nombramiento de variables [#variable-naming]
148160

149161
Existen dos limitaciones de nombre de variables en JavaScript:
150162

151-
1. El nombre únicamente puede incluir letras, dígitos numerales, o los símbolos `$` y `_`.
152-
2. El primer carácter no puede ser un dígito numeral.
163+
1. El nombre únicamente puede incluir letras, dígitos, o los símbolos `$` y `_`.
164+
2. El primer carácter no puede ser un dígito.
153165

154166
Ejemplos de nombres válidos:
155167

@@ -174,7 +186,7 @@ alert($ + _); // 3
174186
Ejemplos de nombres incorrectos:
175187

176188
```js no-beautify
177-
let 1a; // no puede iniciar con un dígito numeral
189+
let 1a; // no puede iniciar con un dígito
178190

179191
let my-name; // los guiones '-' no son permitidos en nombres
180192
```
@@ -324,8 +336,8 @@ Los minificadores de JavaScript moderno, y los navegadores optimizan el código
324336
325337
Podemos declarar variables para almacenar datos al utilizar las palabra clave `var`, `let`, o `const`.
326338
327-
- `let` -- es una declaración de variable moderna. El código debe estar en 'strict mode' para utilizar `let` en Chrome (V8).
328-
- `var` -- es una declaración de variable más vieja-escuela. Normalmente no lo utilizamos para nada, aunque cubriremos sus sutiles diferencias con `let` en el capítulo <info:var>, en caso de que sea necesario.
339+
- `let` -- es una declaración de variable moderna.
340+
- `var` -- es una declaración de variable más vieja-escuela. Normalmente no lo utilizamos en absoluto, aunque cubriremos sus sutiles diferencias con `let` en el capítulo <info:var>, en caso de que sea necesario.
329341
- `const` -- es como `let`, pero el valor de la variable no puede ser alterado.
330342
331343
Las variables deben ser nombradas de tal manera que entendamos fácilmente lo que está en su interior.

0 commit comments

Comments
 (0)