Skip to content

Commit 0e552f6

Browse files
authored
Merge branch 'master' into susy260303
2 parents 2b4c999 + 4d807c8 commit 0e552f6

File tree

24 files changed

+103
-113
lines changed

24 files changed

+103
-113
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Durante mucho tiempo, JavaScript evolucionó sin problemas de compatibilidad. Se
44

55
Esto tenía el beneficio de nunca romper código existente, pero lo malo era que cualquier error o decisión incorrecta tomada por los creadores de JavaScript se quedaba para siempre en el lenguaje.
66

7-
Esto fue así hasta 2009, cuando ECMAScript 5 (ES5) apareció. Esta versión añadió nuevas características al lenguaje y modificó algunas de las ya existentes. Para mantener el código antiguo funcionando, la mayor parte de las modificaciones están desactivadas por defecto. Tienes que activarlas explícitamente usando una directiva especial: `"use strict"`.
7+
Esto fue así hasta 2009, cuando ECMAScript 5 (ES5) apareció. Esta versión añadió nuevas características al lenguaje y modificó algunas de las ya existentes. Para mantener el código antiguo funcionando, la mayoría de estas nuevas características están desactivadas por defecto. Tienes que activarlas explícitamente usando una directiva especial: `"use strict"`.
88

99
## "use strict"
1010

1-js/02-first-steps/07-type-conversions/article.md

Lines changed: 25 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
# Conversiones de Tipos
22

3-
La mayoría de las veces, los operadores y funciones convierten automáticamente los valores que se les pasan al tipo correcto. Esto es llamado "conversión de tipo".
3+
La mayoría de las veces, los operadores y las funciones convierten automáticamente los valores que reciben al tipo de dato que necesitan.
44

5-
Por ejemplo, `alert` convierte automáticamente cualquier valor a string para mostrarlo. Las operaciones matemáticas convierten los valores a números.
5+
Por ejemplo: `alert` convierte automáticamente cualquier valor a string para mostrarlo, y las operaciones matemáticas convierten los valores a números.
66

77
También hay casos donde necesitamos convertir de manera explícita un valor al tipo esperado.
88

9-
```smart header="Aún no hablamos de objetos"
10-
En este capítulo no hablamos de objetos. Por ahora, solamente veremos los valores primitivos.
9+
```smart header="No hablaremos de los objetos aún"
10+
En este capítulo no cubrimos objetos. Por ahora, solamente veremos valores primitivos.
1111
12-
Más adelante, después de haberlos tratado, veremos en el capítulo <info:object-toprimitive> cómo funciona la conversión de objetos.
12+
Más adelante, después de haberlos tratado, veremos en el capítulo <info:object-toprimitive> cómo funciona la conversión.
1313
```
1414

15-
## ToString
15+
## Conversión a String
1616

17-
La conversión a string ocurre cuando necesitamos la representación en forma de texto de un valor.
17+
La conversión a string ocurre cuando necesitamos la representación textual de un valor.
1818

19-
Por ejemplo, `alert(value)` lo hace para mostrar el valor como texto.
19+
Por ejemplo, `alert(value)` lo hace para mostrar `value` como texto.
2020

21-
También podemos llamar a la función `String(value)` para convertir un valor a string:
21+
También podemos llamar a la función `String(value)` para convertir `value` a string:
2222

2323
```js run
2424
let value = true;
@@ -30,18 +30,19 @@ alert(typeof value); // string
3030
*/!*
3131
```
3232

33-
La conversión a string es bastante obvia. El boolean `false` se convierte en `"false"`, `null` en `"null"`, etc.
33+
La conversión a string es bastante evidente. El boolean `false` se convierte en `"false"`, `null` en `"null"`, etc.
3434

35-
## ToNumber
35+
## Conversión numérica
3636

3737
La conversión numérica ocurre automáticamente en funciones matemáticas y expresiones.
3838

39-
Por ejemplo, cuando se dividen valores no numéricos usando `/`:
39+
Por ejemplo, cuando se aplica la división `/` a valores no numéricos:
4040

4141
```js run
4242
alert( "6" / "2" ); // 3, los strings son convertidos a números
4343
```
44-
Podemos usar la función `Number(value)` para convertir de forma explícita un valor a un número:
44+
45+
Podemos usar la función `Number(value)` para convertir `value` a un número de forma explícita:
4546

4647
```js run
4748
let str = "123";
@@ -51,7 +52,8 @@ let num = Number(str); // se convierte en 123
5152

5253
alert(typeof num); // number
5354
```
54-
La conversión explícita es requerida usualmente cuando leemos un valor desde una fuente basada en texto, como lo son los campos de texto en los formularios, pero que esperamos que contengan un valor numérico.
55+
56+
Usualmente, se requiere conversión explícita cuando leemos un valor desde una fuente basada en texto, como un formulario, pero esperamos que sea un número.
5557

5658
Si el string no es un número válido, el resultado de la conversión será `NaN`. Por ejemplo:
5759

@@ -68,33 +70,22 @@ Reglas de conversión numérica:
6870
|`undefined`|`NaN`|
6971
|`null`|`0`|
7072
|<code>true&nbsp;and&nbsp;false</code> | `1` y `0` |
71-
| `string` | Se eliminan los espacios (incluye espacios, tabs `\t`, saltos de línea `\n`, etc.) al inicio y final del texto. Si el string resultante es vacío, el resultado es `0`, en caso contrario el número es "leído" del string. Un error devuelve `NaN`. |
73+
| `string` | Se eliminan los espacios en blanco (incluyendo espacios, tabs `\t`, saltos de línea `\n`, etc.) del inicio y final del texto. Si el string resultante es vacío, el resultado es `0`, en caso contrario el número es "leído" del string. Un error devuelve `NaN`. |
7274

7375
Ejemplos:
7476

7577
```js run
7678
alert( Number(" 123 ") ); // 123
77-
alert( Number("123z") ); // NaN (error al leer un número en "z")
79+
alert( Number("123z") ); // NaN (error al leer el número cuando encuentra "z")
7880
alert( Number(true) ); // 1
7981
alert( Number(false) ); // 0
8082
```
8183

82-
Ten en cuenta que `null` y `undefined` se comportan de distinta manera aquí: `null` se convierte en `0` mientras que `undefined` se convierte en `NaN`.
83-
84-
````smart header="Adición '+' concatena strings"
85-
Casi todas las operaciones matemáticas convierten valores a números. Una excepción notable es la suma `+`. Si uno de los valores sumados es un string, el otro valor es convertido a string.
84+
Es importante notar que `null` y `undefined` se comportan de distinta manera aquí: `null` se convierte en `0` mientras que `undefined` se convierte en `NaN`.
8685

87-
Luego, los concatena (une):
86+
La mayoría de los operadores matemáticos también ejecutan dicha conversión, esto lo veremos en el siguiente capítulo.
8887

89-
```js run
90-
alert( 1 + '2' ); // '12' (string a la derecha)
91-
alert( '1' + 2 ); // '12' (string a la izquierda)
92-
```
93-
94-
Esto ocurre solo si al menos uno de los argumentos es un string, en caso contrario los valores son convertidos a número.
95-
````
96-
97-
## ToBoolean
88+
## Conversión booleana
9889

9990
La conversión a boolean es la más simple.
10091

@@ -124,14 +115,13 @@ alert( Boolean(" ") ); // sólo espacios, también true (cualquier string no vac
124115
```
125116
````
126117
127-
128118
## Resumen
129119
130120
Las tres conversiones de tipo más usadas son a string, a número y a boolean.
131121
132-
**`ToString`** -- Ocurre cuando se muestra algo. Se puede realizar con `String(value)`. La conversión a string es usualmente obvia para los valores primitivos.
122+
**`Conversión a String`** -- Ocurre cuando mostramos un valor. Se puede realizar con `String(value)`. La conversión a string es usualmente evidente para los valores primitivos.
133123
134-
**`ToNumber`** -- Ocurre en operaciones matemáticas. Se puede realizar con `Number(value)`.
124+
**`Conversión numérica`** -- Ocurre en operaciones matemáticas. Se puede realizar con `Number(value)`.
135125
136126
La conversión sigue las reglas:
137127
@@ -142,7 +132,7 @@ La conversión sigue las reglas:
142132
|<code>true&nbsp;/&nbsp;false</code> | `1 / 0` |
143133
| `string` | El string es leído "como es", los espacios en blanco (incluye espacios, tabs `\t`, saltos de línea `\n`, etc.) tanto al inicio como al final son ignorados. Un string vacío se convierte en `0`. Un error entrega `NaN`. |
144134
145-
**`ToBoolean`** -- Ocurren en operaciones lógicas. Se puede realizar con `Boolean(value)`.
135+
**`Conversión booleana`** -- Ocurren en operaciones lógicas. Se puede realizar con `Boolean(value)`.
146136
147137
Sigue las reglas:
148138
@@ -152,7 +142,7 @@ Sigue las reglas:
152142
|cualquier otro valor| `true` |
153143
154144
155-
La mayoría de estas reglas son fáciles de entender y recordar. Las excepciones más notables donde la gente suele cometer errores son:
145+
La mayoría de estas reglas son fáciles de entender y recordar. Las excepciones más notables donde se suele cometer errores son:
156146
157147
- `undefined` es `NaN` como número, no `0`.
158148
- `"0"` y textos que solo contienen espacios como `" "` son `true` como boolean.

1-js/02-first-steps/08-operators/3-primitive-conversions-questions/solution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ undefined + 1 = NaN // (6)
2222
4. La resta siempre convierte a números, por lo tanto hace de `" -9 "` un número `-9` (ignorando los espacios que lo rodean).
2323
5. `null` se convierte en `0` después de la conversión numérica.
2424
6. `undefined` se convierte en `NaN` después de la conversión numérica.
25-
7. Los caracteres de espacio se recortan al inicio y al final de la cadena cuando una cadena se convierte en un número. Aquí toda la cadena consiste en caracteres de espacio, tales como `\t`, `\n` y un espacio "común" entre ellos. Por lo tanto, pasa lo mismo que a una cadena vacía, se convierte en `0`.
25+
7. Al convertir una cadena en número, se ignoran los espacios en blanco al principio y al final (espacio común " ", tabulador \t, salto de línea \n, etc.). Si la cadena contiene solo ellos, queda vacía y se convierte en 0.

1-js/02-first-steps/09-comparison/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ Obtenemos estos resultados porque:
215215
## Resumen
216216

217217
- Los operadores de comparación devuelven un valor booleano.
218-
- Las cadenas se comparan letra por letra, siguiendo el orden del "diccionario".
218+
- Las cadenas se comparan letra por letra, siguiendo el orden del diccionario.
219219
- Cuando se comparan valores de distintos tipos, se convierten a números (excepto en la comprobación de igualdad estricta `===`).
220220
- Los valores `null` y `undefined` son iguales `==` a sí mismos y entre sí, pero no equivalen a ningún otro valor.
221221
- Ten cuidado al usar comparaciones como `>` o `<` con variables que ocasionalmente pueden ser `null` o `undefined`. Es recomendable revisar esos casos por separado.

1-js/02-first-steps/10-ifelse/6-rewrite-if-else-question/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ importance: 5
66

77
Reescriba el `if..else` utilizando operadores ternarios múltiples`'?'`.
88

9-
Para legibilidad, es recomendad dividirlo en múltiples lineas de código.
9+
Para mejor legibilidad, se recomienda dividirlo en múltiples lineas de código.
1010

1111
```js
1212
let message;

1-js/02-first-steps/10-ifelse/article.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,29 +37,29 @@ La sentencia `if (…)` evalúa la expresión dentro de sus paréntesis y convie
3737

3838
Recordemos las reglas de conversión del capítulo <info:type-conversions>:
3939

40-
- El número `0`, un string vacío `""`, `null`, `undefined`, y `NaN`, se convierten en `false`. Por esto son llamados valores "falsos".
41-
- El resto de los valores se convierten en `true`, entonces los llamaremos valores "verdaderos".
40+
- Los valores: número `0`, string vacío `""`, `null`, `undefined`, y `NaN`, en un contexto booleano se convierten en `false`. Por ello, sin ser booleanos, se los conoce como valores "falsy".
41+
- El resto de los valores se convierten en `true`, y son valores que llamamos "truthy".
4242

4343
Entonces, el código bajo esta condición nunca se ejecutaría:
4444

4545
```js
46-
if (0) { // 0 es falso
46+
if (0) { // 0 es falsy
4747
...
4848
}
4949
```
5050

5151
...y dentro de esta condición siempre se ejecutará:
5252

5353
```js
54-
if (1) { // 1 es verdadero
54+
if (1) { // 1 es truthy
5555
...
5656
}
5757
```
5858

5959
También podemos pasar un valor booleano pre-evaluado al `if`, así:
6060

6161
```js
62-
let cond = (year == 2015); // la igualdad evalúa y devuelve un true o false
62+
let cond = (year == 2015); // la igualdad se evalúa y devuelve un true o false
6363

6464
if (cond) {
6565
...
@@ -68,7 +68,7 @@ if (cond) {
6868

6969
## La cláusula "else"
7070

71-
La sentencia `if` puede contener un bloque `else` ("si no", "en caso contrario") opcional. Este bloque se ejecutará cuando la condición sea falsa.
71+
La sentencia `if` puede contener un bloque `else` ("si no", "en caso contrario") opcional. Este bloque se ejecuta cuando la condición resulta falsa.
7272

7373
Por ejemplo:
7474
```js run
@@ -133,7 +133,7 @@ La Sintaxis es:
133133
let result = condition ? value1 : value2;
134134
```
135135

136-
Se evalúa `condition`: si es verdadera entonces devuelve `value1` , de lo contrario `value2`.
136+
Se evalúa `condition`: si resulta verdadera entonces devuelve `value1` , de lo contrario `value2`.
137137

138138
Por ejemplo:
139139

1-js/02-first-steps/11-logical-operators/1-alert-null-2-undefined/solution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
La respuesta es `2`, ese es el primer valor verdadero.
1+
La respuesta es `2`, ese es el primer valor truthy.
22

33
```js run
44
alert( null || 2 || undefined );

1-js/02-first-steps/11-logical-operators/2-alert-or/solution.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ La repuesta: primero `1`, después `2`.
44
alert( alert(1) || 2 || alert(3) );
55
```
66

7-
La llamada a `alert` no retorna un valor. O, en otras palabras, retorna `undefined`.
7+
Una llamada a `alert` no retorna un valor relevante. Siempre retorna `undefined`.
88

9-
1. El primer OR `||` evalúa el operando de la izquierda `alert(1)`. Eso muestra el primer mensaje con `1`.
10-
2. El `alert` retorna `undefined`, por lo que OR se dirige al segundo operando buscando un valor verdadero.
11-
3. El segundo operando `2` es un valor verdadero, por lo que se detiene la ejecución, se retorna `2` y es mostrado por el alert exterior.
9+
1. El primer OR `||` comienza evaluando el operando de la izquierda `alert(1)`. Este alert muestra el primer mensaje con `1`.
10+
2. Ese mismo `alert` retorna `undefined`, por lo que OR se dirige al segundo operando buscando un valor truthy.
11+
3. El segundo operando `2` es un valor truthy, por lo que el OR detiene su ejecución y retorna el 2. Este 2 es luego mostrado por el alert exterior.
1212

13-
No habrá `3` debido a que la evaluación no alcanza a `alert(3)`.
13+
No habrá `3` debido a que la evaluación nunca alcanza a `alert(3)`.

1-js/02-first-steps/11-logical-operators/3-alert-1-null-2/solution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
La respuesta: `null`, porque es el primer valor falso de la lista.
1+
La respuesta: `null`, porque es el primer valor falsy de la lista.
22

33
```js run
44
alert(1 && null && 2);

1-js/02-first-steps/11-logical-operators/4-alert-and/solution.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ La respuesta: `1` y después `undefined`.
44
alert( alert(1) && alert(2) );
55
```
66

7-
La llamada a `alert` retorna `undefined` (solo muestra un mensaje, así que no hay un valor que retornar relevante)
7+
Una llamada a `alert` siempre retorna `undefined` (solo muestra un mensaje, no tiene un valor relevante que retornar)
88

9-
Debido a ello, `&&` evalúa el operando de la izquierda (imprime `1`) e inmediatamente se detiene porque `undefined` es un valor falso. Como `&&` busca un valor falso y lo retorna, terminamos.
9+
Debido a ello, `&&` evalúa el operando de la izquierda (el cual imprime `1`) e inmediatamente se detiene porque `undefined` es falsy. Como `&&` busca un valor falsy, lo retorna y termina.

0 commit comments

Comments
 (0)