Skip to content

Commit a8e20e5

Browse files
authored
Merge pull request #472 from joaquinelio/susy210116
Susy210116
2 parents 7861d07 + d093320 commit a8e20e5

22 files changed

Lines changed: 196 additions & 147 deletions

File tree

1-js/01-getting-started/1-intro/article.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ Ejemplos de tales lenguajes:
111111
-[FLow](https://flow.org/) también agrega la escritura de datos, pero de una manera diferente. Desarrollado por Facebook.
112112
- [Dart](https://www.dartlang.org/) es un lenguaje independiente que tiene su propio motor que se ejecuta en entornos que no son de navegador (como aplicaciones móviles), pero que también se puede convertir/transpilar a JavaScript. Desarrollado por Google.
113113
- [Brython](https://brython.info/) es un transpilador de Python a JavaScript que permite escribir aplicaciones en Python puro sin JavaScript.
114+
- [Kotlin](https://kotlinlang.org/docs/reference/js-overview.html) es un lenguaje moderno, seguro y conciso que puede apuntar al navegador o a Node.
114115

115116
Hay más. Por supuesto, incluso si nosotros usamos alguno de estos lenguajes, deberíamos conocer también JavaScript para realmente entender qué estamos haciendo.
116117

1-js/01-getting-started/2-manuals-specifications/article.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,11 @@ Si estás desarrollando para navegadores web, se mencionan otras especificacione
1717

1818
## Manuales
1919

20-
- **MDN (Mozilla) JavaScript Reference** es un manual con ejemplos y otras informaciones. Es fantástico para obtener información exhaustiva sobre funciones individuales del lenguaje, métodos, etc.
20+
- **MDN (Mozilla) JavaScript Reference** es el manual principal, con ejemplos y otras informaciones. Es fantástico para obtener información exhaustiva sobre funciones individuales del lenguaje, métodos, etc.
2121

2222
Se puede acceder en <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference>.
2323

24-
Aunque a menudo es mejor hace una búsqueda en internet, adicionando "MDN [término]" como parte de la *query* en el motor de búsqueda, e.g. <https://google.com/search?q=MDN+parseInt> para buscar la función `parseInt`.
25-
26-
27-
- **MSDN** – Manual de Microsoft con mucha información, incluyendo JavaScript (a menudo denominado JScript). Si se necesita información específica de Internet Explorer, es el mejor lugar a consultar: <http://msdn.microsoft.com/>.
28-
29-
También podemos hacer una búsqueda con frases tales como "RegExp MSDN" o "RegExp MSDN jscript".
24+
Aunque a menudo es preferible una búsqueda en internet. Simplemente añade "MDN [término]" en la consulta, por ejemplo <https://google.com/search?q=MDN+parseInt> para buscar la función `parseInt`.
3025

3126
## Tablas de compatibilidad
3227

1-js/02-first-steps/08-operators/article.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,9 +217,9 @@ alert( x ); // 5
217217

218218
### Asignación = devuelve un valor
219219

220-
El hecho de que `=` sea un operador, no un construcción "mágica" del lenguaje, tiene un implicanción interesante.
220+
El hecho de que `=` sea un operador, no una construcción "mágica" del lenguaje, tiene un implicanción interesante.
221221

222-
La mayoría de los operadores en JavaScript devuelven un valor. Esto es obvio para `+` y `-`, pero también es cierto para `=`.
222+
Todos los operadores en JavaScript devuelven un valor. Esto es obvio para `+` y `-`, pero también es cierto para `=`.
223223

224224
La llamada `x = value` escribe el `value` en `x` *y luego lo devuelve*.
225225

1-js/03-code-quality/01-debugging-chrome/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ Por favor abre el desplegable de informacion de la derecha (etiquetado con flech
114114

115115
Tambien tenemos la palabra `this` la cual no estudiaremos ahora, pero pronto lo haremos.
116116

117-
## Tazado de la ejecución
117+
## Trazado de la ejecución
118118

119119
Ahora es tiempo de *trazar* el script.
120120

1-js/04-object-basics/03-garbage-collection/article.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ Simple, los valores "alcanzables" son aquellos que son accesibles o se pueden ut
1414

1515
Por ejemplo:
1616

17-
- Variables locales y parámetros de la función actual.
18-
- Variables y parámetros para otras funciones en la cadena actual de llamadas anidadas.
17+
- La función ejecutándose actualmente, sus variables locales y parámetros.
18+
- Otras funciones en la cadena actual de llamadas anidadas, sus variables y parámetros.
1919
- Variables Globales
2020
- (Hay algunos otros internos también)
2121

1-js/04-object-basics/04-object-methods/7-calculator/_js.view/test.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ describe("calculator", function() {
1515
afterEach(function() {
1616
prompt.restore();
1717
});
18+
19+
it('the read get two values and saves them as object properties', function () {
20+
assert.equal(calculator.a, 2);
21+
assert.equal(calculator.b, 3);
22+
});
1823

1924
it("the sum is 5", function() {
2025
assert.equal(calculator.sum(), 5);

1-js/04-object-basics/06-constructor-new/2-calculator-constructor/_js.view/test.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ describe("calculator", function() {
1010
calculator = new Calculator();
1111
calculator.read();
1212
});
13+
14+
it("the read method asks for two values using prompt and remembers them in object properties", function() {
15+
assert.equal(calculator.a, 2);
16+
assert.equal(calculator.b, 3);
17+
});
1318

1419
it("cuando se ingresa 2 y 3, la suma es 5", function() {
1520
assert.equal(calculator.sum(), 5);

1-js/04-object-basics/06-constructor-new/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ La sintaxis a partir de esta sección es raramente utilizada, puedes omitirla a
9191

9292
Dentro de una función, podemos verificar si ha sido llamada con o sin el `new`, utilizando una propiedad especial `new.target`.
9393

94-
Está vacía para llamadas normales y es equivalente a la función si es llamada con `new`:
94+
Es "undefined" para llamadas normales y es equivalente a la función si es llamada con `new`:
9595

9696
```js run
9797
function User() {

1-js/04-object-basics/07-optional-chaining/article.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Es por ello que el encadenamiento opcional `?.` fue agregado al lenguaje. ¡Para
7474

7575
## Encadenamiento opcional
7676

77-
El encadenamiento opcional `?.` detiene la evaluación si la parte anterior a `?.` es ` undefined` o `null` y devuelve esa parte.
77+
El encadenamiento opcional `?.` detiene la evaluación si la parte anterior a `?.` es ` undefined` o `null` y devuelve `undefined`.
7878

7979
**De aquí en adelante en este artículo, por brevedad, diremos que algo "existe" si no es `null` o `undefined`.**
8080

@@ -103,7 +103,7 @@ alert( user?.address.street ); // undefined
103103
104104
Tenga en cuenta: la sintaxis `?.` hace opcional el valor delante de él, pero no más allá.
105105
106-
Por ejemplo en `user?.address.street.name` el `?.` permite a `user` ser `null/undefined`, pero es todo lo que hace. El resto de las propiedades son accedidas de la manera normal. Si queremos que algunas de ellas sean opcionales, necesitamos reemplazar más `.` con `?.`.
106+
Por ejemplo en `user?.address.street.name` el `?.` permite a `user` ser `null/undefined` (y devuelve `undefined` en tal caso), pero solo para `user`. El resto de las propiedades son accedidas de la manera normal. Si queremos que algunas de ellas sean opcionales, necesitamos reemplazar más `.` con `?.`.
107107
108108
```warn header="No abuses del encadenamiento opcional"
109109
Deberíamos usar `?.` solo donde está bien que algo no exista.
@@ -173,18 +173,16 @@ Entonces `?.()` Comprueba la parte izquierda: si la función admin existe, enton
173173
La sintaxis `?.[]` también funciona si quisiéramos usar corchetes `[]` para acceder a las propiedades en lugar de punto `.`. Al igual que en casos anteriores, permite leer de forma segura una propiedad de un objeto que puede no existir.
174174

175175
```js run
176+
let key = "firstName";
177+
176178
let user1 = {
177179
firstName: "John"
178180
};
179181
180-
let user2 = null; // Imagine, no podríamos autorizar al usuario
181-
182-
let key = "firstName";
182+
let user2 = null;
183183
184184
alert( user1?.[key] ); // John
185185
alert( user2?.[key] ); // undefined
186-
187-
alert( user1?.[key]?.something?.not?.existing); // undefined
188186
```
189187

190188
También podemos usar `?.` con `delete`:

1-js/04-object-basics/08-symbol/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ No habrá conflicto porque los Symbols siempre son diferentes, incluso si tienen
107107

108108
Ahora ten en cuenta que si utilizamos un string `"id"` en lugar de un Symbol para el mismo propósito, entonces SÍ *habría* un conflicto:
109109

110-
```js run
110+
```js
111111
let user = { name: "John" };
112112

113113
// Nuestro script usa la clave "id"

0 commit comments

Comments
 (0)