Skip to content

Commit a99e0c0

Browse files
authored
fix: cambio de referecia a capítulos
1 parent 4cfa084 commit a99e0c0

17 files changed

+44
-44
lines changed

01_values.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ Las cadenas también deben ser modeladas como una serie de bits para poder exist
166166

167167
{{index "UTF-16", emoji}}
168168

169-
Sin embargo, hay una complicación: la representación de JavaScript utiliza 16 bits por elemento de cadena, lo que puede describir hasta 2^16^ caracteres diferentes. Sin embargo, Unicode define más caracteres que eso —aproximadamente el doble, en este momento. Por lo tanto, algunos caracteres, como muchos emoji, ocupan dos "posiciones de caracteres" en las cadenas de JavaScript. Volveremos a esto en [Capítulo ?](higher_order#code_units).
169+
Sin embargo, hay una complicación: la representación de JavaScript utiliza 16 bits por elemento de cadena, lo que puede describir hasta 2^16^ caracteres diferentes. Sin embargo, Unicode define más caracteres que eso —aproximadamente el doble, en este momento. Por lo tanto, algunos caracteres, como muchos emoji, ocupan dos "posiciones de caracteres" en las cadenas de JavaScript. Volveremos a esto en el [Capítulo ?](higher_order#code_units).
170170

171171
{{index "operador +", "concatenación"}}
172172

@@ -176,7 +176,7 @@ Las cadenas no se pueden dividir, multiplicar o restar. El operador `+` se puede
176176
"con" + "cat" + "e" + "nar"
177177
```
178178

179-
Los valores de cadena tienen una serie de funciones asociadas (_métodos_) que se pueden utilizar para realizar otras operaciones con ellos. Hablaré más sobre esto en [Capítulo ?](data#methods).
179+
Los valores de cadena tienen una serie de funciones asociadas (_métodos_) que se pueden utilizar para realizar otras operaciones con ellos. Hablaré más sobre esto en el [Capítulo ?](data#methods).
180180

181181
{{index "interpolación", acento grave}}
182182

02_program_structure.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ if}}
198198

199199
{{index [objeto, propiedad], [acceso, propiedad]}}
200200

201-
Aunque los nombres de enlaces no pueden contener ((puntos)), `console.log` tiene uno. Esto se debe a que `console.log` no es un simple enlace, sino una expresión que recupera la propiedad `log` del valor contenido por el enlace `console`. Descubriremos exactamente lo que esto significa en [Capítulo ?](data#propiedades).
201+
Aunque los nombres de enlaces no pueden contener ((puntos)), `console.log` tiene uno. Esto se debe a que `console.log` no es un simple enlace, sino una expresión que recupera la propiedad `log` del valor contenido por el enlace `console`. Descubriremos exactamente lo que esto significa en el [Capítulo ?](data#propiedades).
202202

203203
{{id valores_retorno}}
204204
## Valores de retorno
@@ -377,7 +377,7 @@ console.log(result);
377377
// → 1024
378378
```
379379

380-
El contador también podría haber comenzado en `1` y haber comprobado si era `<= 10`, pero por razones que se harán evidentes en [Capítulo ?](data#array_indexing), es buena idea acostumbrarse a contar desde 0.
380+
El contador también podría haber comenzado en `1` y haber comprobado si era `<= 10`, pero por razones que se harán evidentes en el [Capítulo ?](data#array_indexing), es buena idea acostumbrarse a contar desde 0.
381381

382382
{{index "** operador"}}
383383

@@ -580,7 +580,7 @@ El primer estilo puede ser difícil de leer. Personalmente me gusta más la apar
580580

581581
{{index "Función Número", constructor}}
582582

583-
En algunos casos, como en la función `Number`, la primera letra de un enlace también está en mayúscula. Esto se hizo para marcar esta función como un constructor. Quedará claro lo que es un constructor en [Capítulo ?](object#constructors). Por ahora, lo importante es no molestarse por esta aparente falta de ((consistencia)).
583+
En algunos casos, como en la función `Number`, la primera letra de un enlace también está en mayúscula. Esto se hizo para marcar esta función como un constructor. Quedará claro lo que es un constructor en el [Capítulo ?](object#constructors). Por ahora, lo importante es no molestarse por esta aparente falta de ((consistencia)).
584584

585585
## Comentarios
586586

03_functions.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ const cuerno = () => {
234234

235235
{{index verbosidad}}
236236

237-
No hay una razón profunda para tener tanto funciones de flecha como expresiones `function` en el lenguaje. Aparte de un detalle menor, que discutiremos en el [Capítulo ?](objeto), hacen lo mismo. Las funciones de flecha se agregaron en 2015, principalmente para hacer posible escribir expresiones de función pequeñas de una manera menos verbosa. Las usaremos a menudo en [Capítulo ?](orden superior).
237+
No hay una razón profunda para tener tanto funciones de flecha como expresiones `function` en el lenguaje. Aparte de un detalle menor, que discutiremos en el [Capítulo ?](objeto), hacen lo mismo. Las funciones de flecha se agregaron en 2015, principalmente para hacer posible escribir expresiones de función pequeñas de una manera menos verbosa. Las usaremos a menudo en el [Capítulo ?](orden superior).
238238

239239
{{id pila}}
240240

@@ -417,7 +417,7 @@ console.log(power(2, 3));
417417

418418
{{index ciclo, legibilidad, "matemáticas"}}
419419

420-
Esto se asemeja bastante a la forma en que los matemáticos definen la exponenciación y describe el concepto de manera más clara que el bucle que usamos en [Capítulo ?](estructura_programación). La función se llama a sí misma varias veces con exponentes cada vez más pequeños para lograr la multiplicación repetida.
420+
Esto se asemeja bastante a la forma en que los matemáticos definen la exponenciación y describe el concepto de manera más clara que el bucle que usamos en el [Capítulo ?](estructura_programación). La función se llama a sí misma varias veces con exponentes cada vez más pequeños para lograr la multiplicación repetida.
421421

422422
{{index ["función", "aplicación"], eficiencia}}
423423

04_data.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ Cada cadena de texto tiene una propiedad `toUpperCase`. Cuando se llama, devolve
124124

125125
{{index "vinculación de this"}}
126126

127-
Curiosamente, aunque la llamada a `toUpperCase` no pasa argumentos, de alguna manera la función tiene acceso a la cadena `"Doh"`, el valor cuya propiedad llamamos. Descubrirás cómo funciona esto en [Capítulo ?](object#obj_methods).
127+
Curiosamente, aunque la llamada a `toUpperCase` no pasa argumentos, de alguna manera la función tiene acceso a la cadena `"Doh"`, el valor cuya propiedad llamamos. Descubrirás cómo funciona esto en el [Capítulo ?](object#obj_methods).
128128

129129
Las propiedades que contienen funciones generalmente se llaman _métodos_ del valor al que pertenecen, como en "`toUpperCase` es un método de una cadena".
130130

@@ -457,7 +457,7 @@ for (let entry of JOURNAL) {
457457

458458
{{index "for/of loop"}}
459459

460-
Cuando un bucle `for` usa la palabra `of` después de la definición de su variable, recorrerá los elementos del valor dado después de `of`. Esto no solo funciona para arrays, sino también para cadenas y algunas otras estructuras de datos. Discutiremos _cómo_ funciona en [Capítulo ?](object).
460+
Cuando un bucle `for` usa la palabra `of` después de la definición de su variable, recorrerá los elementos del valor dado después de `of`. Esto no solo funciona para arrays, sino también para cadenas y algunas otras estructuras de datos. Discutiremos _cómo_ funciona en el [Capítulo ?](object).
461461

462462
{{id analysis}}
463463

@@ -692,7 +692,7 @@ console.log("LA".repeat(3));
692692

693693
{{index ["length property", "for string"], [string, indexing]}}
694694

695-
Ya hemos visto la propiedad `length` del tipo string. Acceder a los caracteres individuales en una cadena se parece a acceder a los elementos de un array (con una complicación que discutiremos en [Capítulo ?](higher_order#code_units)).
695+
Ya hemos visto la propiedad `length` del tipo string. Acceder a los caracteres individuales en una cadena se parece a acceder a los elementos de un array (con una complicación que discutiremos en el [Capítulo ?](higher_order#code_units)).
696696

697697
```
698698
let string = "abc";
@@ -791,7 +791,7 @@ console.log(puntoAleatorioEnCirculo(2));
791791
// → {x: 0.3667, y: 1.966}
792792
```
793793

794-
Si no estás familiarizado con senos y cosenos, no te preocupes. Los explicaré cuando se utilicen en este libro, en [Capítulo ?](dom#sin_cos).
794+
Si no estás familiarizado con senos y cosenos, no te preocupes. Los explicaré cuando se utilicen en este libro, en el [Capítulo ?](dom#sin_cos).
795795

796796
{{index "Función Math.random", "número aleatorio"}}
797797

06_object.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ Dentro de una declaración de clase, los métodos o propiedades que tienen `stat
537537

538538
{{index "bucle for/of", "interfaz iteradora"}}
539539

540-
Mencioné en [Capítulo ?](data#for_of_loop) que un bucle `for`/`of` puede recorrer varios tipos de estructuras de datos. Este es otro caso de polimorfismo: tales bucles esperan que la estructura de datos exponga una interfaz específica, la cual hacen los arrays y las cadenas. ¡Y también podemos agregar esta interfaz a nuestros propios objetos! Pero antes de hacerlo, debemos echar un vistazo breve al tipo de símbolo.
540+
Mencioné en el [Capítulo ?](data#for_of_loop) que un bucle `for`/`of` puede recorrer varios tipos de estructuras de datos. Este es otro caso de polimorfismo: tales bucles esperan que la estructura de datos exponga una interfaz específica, la cual hacen los arrays y las cadenas. ¡Y también podemos agregar esta interfaz a nuestros propios objetos! Pero antes de hacerlo, debemos echar un vistazo breve al tipo de símbolo.
541541

542542
Es posible que múltiples interfaces utilicen el mismo nombre de propiedad para diferentes cosas. Por ejemplo, en objetos similares a arrays, `length` se refiere a la cantidad de elementos en la colección. Pero una interfaz de objeto que describa una ruta de senderismo podría usar `length` para proporcionar la longitud de la ruta en metros. No sería posible que un objeto cumpla con ambas interfaces.
543543

@@ -611,7 +611,7 @@ console.log(okIterador.next());
611611

612612
{{index ["estructura de datos", lista], "lista enlazada", "colección"}}
613613

614-
Implementemos una estructura de datos iterable similar a la lista enlazada del ejercicio en [Capítulo ?](datos). Esta vez escribiremos la lista como una clase.
614+
Implementemos una estructura de datos iterable similar a la lista enlazada del ejercicio en el [Capítulo ?](datos). Esta vez escribiremos la lista como una clase.
615615

616616
```{includeCode: true}
617617
class List {

08_error.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ Escribir programas que funcionen de manera confiable incluso cuando surgen excep
394394

395395
{{index "excepción no capturada", "manejo de excepciones", "consola de JavaScript", "herramientas para desarrolladores", "pila de llamadas", error}}
396396

397-
Cuando una excepción llega hasta el final de la pila sin ser capturada, es manejada por el entorno. Lo que esto significa difiere según los entornos. En los navegadores, generalmente se escribe una descripción del error en la consola de JavaScript (accesible a través del menú Herramientas o Desarrollador del navegador). Node.js, el entorno de JavaScript sin navegador del que hablaremos en [Capítulo ?](node), es más cuidadoso con la corrupción de datos. Abortará todo el proceso cuando ocurra una excepción no manejada.
397+
Cuando una excepción llega hasta el final de la pila sin ser capturada, es manejada por el entorno. Lo que esto significa difiere según los entornos. En los navegadores, generalmente se escribe una descripción del error en la consola de JavaScript (accesible a través del menú Herramientas o Desarrollador del navegador). Node.js, el entorno de JavaScript sin navegador del que hablaremos en el [Capítulo ?](node), es más cuidadoso con la corrupción de datos. Abortará todo el proceso cuando ocurra una excepción no manejada.
398398

399399
{{index crash, "manejo de errores"}}
400400

09_regexp.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -753,7 +753,7 @@ Nuestra tarea es convertir una cadena como esta en un objeto cuyas propiedades c
753753

754754
{{index "retorno de carro", "salto de línea", "carácter de nueva línea"}}
755755

756-
Dado que el formato debe procesarse ((línea)) por línea, dividir el archivo en líneas separadas es un buen comienzo. Vimos el método `split` en [Capítulo ?](data#split). Sin embargo, algunos sistemas operativos utilizan no solo un carácter de nueva línea para separar líneas sino un carácter de retorno de carro seguido de una nueva línea (`"\r\n"`). Dado que el método `split` también permite una expresión regular como argumento, podemos usar una expresión regular como `/\r?\n/` para dividir de una manera que permita tanto `"\n"` como `"\r\n"` entre líneas.
756+
Dado que el formato debe procesarse ((línea)) por línea, dividir el archivo en líneas separadas es un buen comienzo. Vimos el método `split` en el [Capítulo ?](data#split). Sin embargo, algunos sistemas operativos utilizan no solo un carácter de nueva línea para separar líneas sino un carácter de retorno de carro seguido de una nueva línea (`"\r\n"`). Dado que el método `split` también permite una expresión regular como argumento, podemos usar una expresión regular como `/\r?\n/` para dividir de una manera que permita tanto `"\n"` como `"\r\n"` entre líneas.
757757

758758
```{startCode: true}
759759
function parseINI(string) {
@@ -799,7 +799,7 @@ Si una línea no es un encabezado de sección o una propiedad, la función verif
799799

800800
## Unidades de código y caracteres
801801

802-
Otro error de diseño que se ha estandarizado en las expresiones regulares de JavaScript es que, por defecto, operadores como `.` o `?` trabajan en unidades de código, como se discute en [Capítulo ?](higher_order#code_units), no en caracteres reales. Esto significa que los caracteres que están compuestos por dos unidades de código se comportan de manera extraña.
802+
Otro error de diseño que se ha estandarizado en las expresiones regulares de JavaScript es que, por defecto, operadores como `.` o `?` trabajan en unidades de código, como se discute en el [Capítulo ?](higher_order#code_units), no en caracteres reales. Esto significa que los caracteres que están compuestos por dos unidades de código se comportan de manera extraña.
803803

804804
```
805805
console.log(/🍎{3}/.test("🍎🍎🍎"));

10_modules.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Los _módulos_ son un intento de evitar estos problemas. Un ((módulo)) es una p
3232

3333
{{index "gran bola de barro"}}
3434

35-
Las interfaces de los módulos tienen mucho en común con las interfaces de objetos, como las vimos en [Capítulo ?](object#interface). Permiten que una parte del módulo esté disponible para el mundo exterior y mantienen el resto privado.
35+
Las interfaces de los módulos tienen mucho en común con las interfaces de objetos, como las vimos en el [Capítulo ?](object#interface). Permiten que una parte del módulo esté disponible para el mundo exterior y mantienen el resto privado.
3636

3737
{{index dependencia}}
3838

@@ -135,7 +135,7 @@ NPM es dos cosas: un servicio en línea donde puedes descargar (y subir) paquete
135135

136136
{{index "ini package"}}
137137

138-
En el momento de la escritura, hay más de tres millones de paquetes diferentes disponibles en NPM. Una gran parte de ellos son basura, para ser honesto. Pero casi cada paquete de JavaScript útil y disponible públicamente se puede encontrar en NPM. Por ejemplo, un analizador de archivos INI, similar al que construimos en [Capítulo ?](regexp), está disponible bajo el nombre del paquete `ini`.
138+
En el momento de la escritura, hay más de tres millones de paquetes diferentes disponibles en NPM. Una gran parte de ellos son basura, para ser honesto. Pero casi cada paquete de JavaScript útil y disponible públicamente se puede encontrar en NPM. Por ejemplo, un analizador de archivos INI, similar al que construimos en el [Capítulo ?](regexp), está disponible bajo el nombre del paquete `ini`.
139139

140140
{{index "command line"}}
141141

11_async.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ Para la mayoría del código asíncrono, esta notación es más conveniente que
366366

367367
Esta capacidad de pausar y luego reanudar funciones no es exclusiva de las funciones `async`. JavaScript también tiene una característica llamada _((generador))_ functions. Son similares, pero sin las promesas.
368368

369-
Cuando defines una función con `function*` (colocando un asterisco después de la palabra `function`), se convierte en un generador. Al llamar a un generador, devuelve un ((iterador)), que ya vimos en [Capítulo ?](object).
369+
Cuando defines una función con `function*` (colocando un asterisco después de la palabra `function`), se convierte en un generador. Al llamar a un generador, devuelve un ((iterador)), que ya vimos en el [Capítulo ?](object).
370370

371371
```
372372
function* powers(n) {
@@ -388,7 +388,7 @@ for (let power of powers(3)) {
388388

389389
Inicialmente, al llamar a `powers`, la función se congela desde el principio. Cada vez que llamas a `next` en el iterador, la función se ejecuta hasta que encuentra una expresión `yield`, que la pausa y hace que el valor generado se convierta en el próximo valor producido por el iterador. Cuando la función retorna (la del ejemplo nunca lo hace), el iterador ha terminado.
390390

391-
Escribir iteradores a menudo es mucho más fácil cuando usas funciones generadoras. El iterador para la clase `Group` (del ejercicio en [Capítulo ?](object#group_iterator)) se puede escribir con este generador:
391+
Escribir iteradores a menudo es mucho más fácil cuando usas funciones generadoras. El iterador para la clase `Group` (del ejercicio en el [Capítulo ?](object#group_iterator)) se puede escribir con este generador:
392392

393393
{{index "Group class"}}
394394

12_language.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ Esta estructura de datos se llama un _((árbol de sintaxis))_. Si te imaginas lo
8080

8181
{{index "análisis" "sintáctico"}}
8282

83-
Contrasta esto con el analizador que escribimos para el formato de archivo de configuración en [Capítulo ?](regexp#ini), que tenía una estructura simple: dividía la entrada en líneas y manejaba esas líneas una a la vez. Solo había algunas formas simples que una línea podía tener.
83+
Contrasta esto con el analizador que escribimos para el formato de archivo de configuración en el [Capítulo ?](regexp#ini), que tenía una estructura simple: dividía la entrada en líneas y manejaba esas líneas una a la vez. Solo había algunas formas simples que una línea podía tener.
8484

8585
{{index "recursión", [anidamiento, "de expresiones"]}}
8686

0 commit comments

Comments
 (0)