You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/02-structure/article.md
+1-2Lines changed: 1 addition & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -100,7 +100,6 @@ A medida que pasa el tiempo, los programas se vuelven cada vez más complejos. S
100
100
101
101
Los comentarios se pueden poner en cualquier lugar de un script. No afectan su ejecución porque el motor simplemente los ignora.
102
102
103
-
104
103
**Los comentarios de una línea comienzan con dos caracteres de barra diagonal `//`.**
105
104
106
105
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');
140
139
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`.
141
140
```
142
141
143
-
````warn header="¡Los comentarios anidados no son compatibles!"
142
+
````warn header="¡Los comentarios anidados no son admitidos!"
144
143
No puede haber `/*...*/` dentro de otro `/*...*/`.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/03-strict-mode/article.md
+28-17Lines changed: 28 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -19,9 +19,7 @@ Por ejemplo:
19
19
...
20
20
```
21
21
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.
25
23
26
24
````warn header="Asegúrate de que \"use strict\" está al inicio"
27
25
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");
40
38
Únicamente pueden aparecer comentarios por encima de `"use strict"`.
41
39
````
42
40
43
-
````warn header="No hay manera de cancelar `use strict`"
41
+
```warn header="No hay manera de cancelar `use strict`"
44
42
No hay ninguna directiva del tipo `"no use strict"` que haga al motor volver al comportamiento anterior.
45
43
46
44
Una vez entramos en modo estricto, no hay vuelta atrás.
47
-
````
45
+
```
48
46
49
47
## Consola del navegador
50
48
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.
52
50
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.
54
52
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?
56
54
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:
58
66
59
67
```js
60
68
(function() {
@@ -64,15 +72,18 @@ La única manera confiable de asegurar que `use strict` funcionará sería escri
64
72
})()
65
73
```
66
74
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.
68
82
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.**
70
84
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.
72
86
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.
74
88
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.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/04-variables/2-declare-variables/solution.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
Primero, la variable para el nombre de nuestro planeta.
1
+
## La variable para nuestro planeta.
2
2
3
3
Eso es simple:
4
4
@@ -8,7 +8,7 @@ let ourPlanetName = "Tierra";
8
8
9
9
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.
````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
+
139
151
```smart header="Lenguajes funcionales"
140
152
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.
141
153
142
154
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.
143
155
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.
145
157
```
146
158
147
159
## Nombramiento de variables [#variable-naming]
148
160
149
161
Existen dos limitaciones de nombre de variables en JavaScript:
150
162
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.
153
165
154
166
Ejemplos de nombres válidos:
155
167
@@ -174,7 +186,7 @@ alert($ + _); // 3
174
186
Ejemplos de nombres incorrectos:
175
187
176
188
```js no-beautify
177
-
let 1a; // no puede iniciar con un dígito numeral
189
+
let1a; // no puede iniciar con un dígito
178
190
179
191
let my-name; // los guiones '-' no son permitidos en nombres
180
192
```
@@ -324,8 +336,8 @@ Los minificadores de JavaScript moderno, y los navegadores optimizan el código
324
336
325
337
Podemos declarar variables para almacenar datos al utilizar las palabra clave `var`, `let`, o `const`.
326
338
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.
329
341
- `const` -- es como `let`, pero el valor de la variable no puede ser alterado.
330
342
331
343
Las variables deben ser nombradas de tal manera que entendamos fácilmente lo que está en su interior.
0 commit comments