Skip to content

Commit 2627ea7

Browse files
committed
susy211213
2 parents cbb959a + 9a42577 commit 2627ea7

File tree

173 files changed

+209
-196
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

173 files changed

+209
-196
lines changed

Diff for: 1-js/02-first-steps/04-variables/variable-change.svg

+1-1
Loading

Diff for: 1-js/02-first-steps/04-variables/variable.svg

+1-1
Loading

Diff for: 1-js/02-first-steps/05-types/article.md

+8-7
Original file line numberDiff line numberDiff line change
@@ -212,13 +212,6 @@ El tipo `symbol` (símbolo) se utiliza para crear identificadores únicos para l
212212
213213
El operador `typeof` devuelve el tipo del argumento. Es útil cuando queremos procesar valores de diferentes tipos de forma diferente o simplemente queremos hacer una comprobación rápida.
214214
215-
Soporta dos formas de sintaxis:
216-
217-
1. Como operador: `typeof x`.
218-
2. Como una función: `typeof(x)`.
219-
220-
En otras palabras, funciona con paréntesis o sin ellos. El resultado es el mismo.
221-
222215
La llamada a `typeof x` devuelve una cadena con el nombre del tipo:
223216
224217
```js
@@ -253,6 +246,14 @@ Las últimas tres líneas pueden necesitar una explicación adicional:
253246
2. El resultado de `typeof null` es `"object"`. Esto está oficialmente reconocido como un error de comportamiento de `typeof` que proviene de los primeros días de JavaScript y se mantiene por compatibilidad. Definitivamente `null` no es un objeto. Es un valor especial con un tipo propio separado.
254247
3. El resultado de `typeof alert` es `"function"` porque `alert` es una función. Estudiaremos las funciones en los próximos capítulos donde veremos que no hay ningún tipo especial "function" en JavaScript. Las funciones pertenecen al tipo objeto. Pero `typeof` las trata de manera diferente, devolviendo `function`. Además proviene de los primeros días de JavaScript. Técnicamente dicho comportamiento es incorrecto pero puede ser conveniente en la práctica.
255248

249+
```smart header="Sintaxis de `typeof(x)`"
250+
Se puede encontrar otra sintaxis en algún código: `typeof(x)`. Es lo mismo que `typeof x`.
251+
252+
Los paréntesis aquí no son parte del operador `typeof`. Son del tipo usado en agrupamiento matemático. Usualmente, tales paréntesis contienen expresiones matemáticas tales como `(2 + 2)`, pero aquí solo tienen un argumento `(x)`. Sintácticamente, permiten evitar el espacio entre el operador `typeof` y su argumento, y a algunas personas les gusta así.
253+
254+
Algunos prefieren `typeof(x)`, aunque la sintaxis `typeof x` es mucho más común.
255+
```
256+
256257
## Resumen
257258

258259
Hay 8 tipos básicos en JavaScript.

Diff for: 1-js/02-first-steps/16-function-expressions/article.md

+25-15
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,29 @@ function sayHi() {
1212

1313
Existe otra sintaxis para crear una función que se llama una *Expresión de Función*.
1414

15-
Se ve así:
15+
Esto permite crear una nueva función en el medio de cualquier expresión
16+
17+
Por ejemplo:
1618

1719
```js
1820
let sayHi = function() {
1921
alert( "Hola" );
2022
};
2123
```
2224

23-
Aquí, la función es creada y asignada a la variable de manera explícita, como cualquier otro valor. Sin importar cómo se define la función, es sólo un valor almacenado en la variable `sayHi`.
25+
Aquí podemos ver una variable `sayHi` obteniendo un valor, la nueva función, creada como `function() { alert("Hello"); }`.
26+
27+
Como la creación de una función ocurre en el contexto de una expresión de asignación, (el lado derecho de `=`), esto es una *Expresión de función*.
28+
29+
Note que no hay un nombre después de la palabra clave `function`. Omitir el nombre está permitido en las expresiones de función.
30+
31+
Aquí la asignamos directamente a la variable, así que el significado de estos ejemplos de código es el mismo: "crear una función y ponerla en la variable `sayHi`".
32+
33+
En situaciones más avanzadas, que cubriremos más adelante, una función puede ser creada e inmediatamente llamada o agendada para uso posterior, sin almacenarla en ningún lugar, permaneciendo así anónima.
2434

25-
El sentido de estos ejemplos de código es el mismo: "crear una función y colocarla en la variable `sayHi`".
35+
## La función es un valor
36+
37+
Reiteremos: no importa cómo es creada la función, una función es un valor. Ambos ejemplos arriba almacenan una función en `sayHi` variable.
2638

2739
Incluso podemos mostrar aquel valor usando `alert`:
2840

@@ -61,14 +73,12 @@ Esto es lo que sucede arriba en detalle:
6173

6274
1. La Declaración de la Función `(1)` crea la función y la coloca dentro de la variable llamada `sayHi`.
6375
2. Línea`(2)` copia la función en la variable `func`.
76+
3. Ahora la función puede ser llamada de ambas formas, `sayHi()` y `func()`.
6477

65-
Aclaremos de nuevo: no hay paréntesis después de `sayHi`. Si lo hubiera, entonces `func = sayHi()` colocaría *el resultado de la llamada* `sayHi()` en `func`, no *la función* `sayHi` en sí.
66-
3. Ahora la función puede ser llamada de ambas maneras, `sayHi()` y `func()`.
67-
68-
Tenga en cuenta que también podríamos haber utilizado una Expresión de Función para declarar `sayHi`, en la primera línea:
78+
También podríamos haber usado una expresión de función para declarar `sayHi` en la primera línea:
6979

7080
```js
71-
let sayHi = function() {
81+
let sayHi = function() { // (1) crea
7282
alert( "Hola" );
7383
};
7484

@@ -80,7 +90,7 @@ Todo funcionaría igual.
8090

8191

8292
````smart header="¿Por qué hay un punto y coma al final?"
83-
Tal vez te preguntes por qué la Expresión de Función tiene un punto y coma `;` al final, pero la Declaración de Función no:
93+
Tal vez te preguntes por qué la Expresión de Función tiene un punto y coma `;` al final, pero la Declaración de Función no lo tiene:
8494
8595
```js
8696
function sayHi() {
@@ -92,9 +102,9 @@ let sayHi = function() {
92102
}*!*;*/!*
93103
```
94104
95-
La respuesta es simple:
96-
- No hay necesidad de un `;` al final de los bloques de código y estructuras de sintaxis que los utilizan tales como `if { ... }`, `for { }`, `function f { }` etc.
97-
- Una Expresión de Función es utilizada dentro de la declaración: `let sayHi = ...;`, como un valor. No es un bloque de código. El punto y coma `;` es recomendado al final de declaraciones, sin importar cúal es el valor. Por lo tanto el punto y coma de aquí no se relaciona con la Expresión de Función en sí en ninguna forma, sólo termina la declaración.
105+
La respuesta es simple: una expresión de función se crea aquí como `function(…) {…}` dentro de la sentencia de asignación `let sayHi = …;`. El punto y coma se recomienda para finalizar la sentencia, no es parte de la sintaxis de función.
106+
107+
El punto y coma estaría allí para una asignación más simple tal como `let sayHi = 5;`, y también está alli para la asignación de función.
98108
````
99109

100110
## Funciones Callback
@@ -193,7 +203,7 @@ Primero, la sintaxis: cómo diferenciarlas en el código.
193203
};
194204
```
195205

196-
La diferencia más sutíl es *cuándo* la función es creada por el motor de JavaScript.
206+
La diferencia más sutil es *cuándo* la función es creada por el motor de JavaScript.
197207

198208
**Una Expresión de Función es creada cuando la ejecución la alcance y es utilizable desde ahí en adelante.**
199209

@@ -205,7 +215,7 @@ Las Declaraciones de Función son diferente.
205215

206216
Por ejemplo, una Declaración de Función global es visible en todo el script, sin importar dónde se esté.
207217

208-
Esto se debe a los algorítmos internos. Cuando JavaScript se prepara para ejecutar el script, primero busca Declaraciones de Funciones globales en él y crea las funciones. Podemos pensar en esto como una "etapa de inicialización".
218+
Esto se debe a los algoritmos internos. Cuando JavaScript se prepara para ejecutar el script, primero busca Declaraciones de Funciones globales en él y crea las funciones. Podemos pensar en esto como una "etapa de inicialización".
209219

210220
Y después de que se procesen todas las Declaraciones de Funciones, el código se ejecuta. Entonces tiene acceso a éstas funciones.
211221

@@ -239,7 +249,7 @@ Las Expresiones de Función son creadas cuando la ejecución las alcance. Esto p
239249

240250
Otra característica especial de las Declaraciones de Funciones es su alcance de bloque.
241251

242-
**En modo estrícto, cuando una Declaración de Función se encuentra dentro de un bloque de código, es visible en todas partes dentro de ese bloque. Pero no fuera de él.**
252+
**En modo estricto, cuando una Declaración de Función se encuentra dentro de un bloque de código, es visible en todas partes dentro de ese bloque. Pero no fuera de él.**
243253

244254
Por ejemplo, imaginemos que necesitamos declarar una función `welcome()` dependiendo de la variable `age` que obtengamos durante el tiempo de ejecución. Y luego planeamos usarlo algún tiempo después.
245255

Diff for: 1-js/02-first-steps/17-arrow-functions-basics/article.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Hay otra sintaxis muy simple y concisa para crear funciones, que a menudo es mej
55
Se llama "funciones de flecha", porque se ve así:
66

77
```js
8-
let func = (arg1, arg2, ..., argN) => expression
8+
let func = (arg1, arg2, ..., argN) => expression;
99
```
1010

11-
...Esto crea una función `func` que acepta parámetros `arg1..argN`, luego evalúa la `expression` de la derecha con su uso y devuelve su resultado.
11+
Esto crea una función `func` que acepta los parámetros `arg1..argN`, luego evalúa la `expression` del lado derecho mediante su uso y devuelve su resultado.
1212

1313
En otras palabras, es la versión más corta de:
1414

Diff for: 1-js/03-code-quality/01-debugging-chrome/chrome-sources-console.svg

+1-1
Loading

Diff for: 1-js/03-code-quality/01-debugging-chrome/chrome-tabs.svg

+1-1
Loading

0 commit comments

Comments
 (0)