Skip to content

Commit ba4a145

Browse files
authored
Finished second translation of spanish version (#211)
* Empiezo nueva traducción. * Traducción de file-system, split y substring. Corrección de errores. * Traducidas README.md, arrow-functions.md, let-const.md y map.md * Corrección menor para sintaxis markdown. * Terminda traducción hoisting, template-literals y destructuring. Agregadas páginas reverse y slice. * - Traducidas páginas reverse y slice. - Terminada la segunda traducción * File jakarta.jpg no necesario
1 parent 2f5f458 commit ba4a145

File tree

18 files changed

+753
-8
lines changed

18 files changed

+753
-8
lines changed

es/Credits.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
pageNumber: VI
3+
chapter:
4+
---
5+
6+
### Mantenedor
7+
8+
---
9+
<!-- markdownlint-disable MD033 -->
10+
<table>
11+
<tr>
12+
<td align="center">
13+
<a href="https://github.com/sumn2u">
14+
<img src="https://avatars.githubusercontent.com/u/6531541?v=4" alt="Profile Picture" style="border-radius: 50%; width: 100px; height: 100px;" />
15+
<br/>
16+
<sub><b>Suman Kunwar</b></sub>
17+
</a>
18+
</td>
19+
</tr>
20+
</table>
21+
22+
### Colaboradores
23+
24+
---
25+
![Colaboradores](../.gitbook/assets/contributors.png)

es/SUMMARY.md

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
- [Replace](strings/replace.md)
1919
- [Length](strings/length.md)
2020
- [Concatenación](strings/concat.md)
21+
- [Split](strings/split.md)
22+
- [CharAt](strings/charAt.md)
23+
- [Substring](strings/substring.md)
2124
- [Lógica condicional](conditional/README.md)
2225
- [If](conditional/if.md)
2326
- [Else](conditional/else.md)
@@ -29,13 +32,15 @@
2932
- [Map](arrays/map.md)
3033
- [Spread](arrays/spread.md)
3134
- [Shift](arrays/shift.md)
32-
- [Pop)](arrays/pop.md)
35+
- [Pop](arrays/pop.md)
3336
- [Join](arrays/join.md)
3437
- [Length](arrays/length.md)
3538
- [Push](arrays/push.md)
3639
- [For Each](arrays/for-each.md)
3740
- [Sort](arrays/sort.md)
3841
- [Índices](arrays/indices.md)
42+
- [Reverse](arrays/reverse.md)
43+
- [Slice](arrays/slice.md)
3944
- [Bucles](loops/README.md)
4045
- [For](loops/for.md)
4146
- [While](loops/while.md)
@@ -47,7 +52,7 @@
4752
- [Mutable](objects/mutable.md)
4853
- [Referencia](objects/reference.md)
4954
- [Prototype](objects/prototype.md)
50-
- [Delete](objects/delete.md)
55+
- [Operador Delete](objects/delete.md)
5156
- [Enumeración](objects/enumeration.md)
5257
- [Fecha y hora](date-and-time.md)
5358
- [JSON](json.md)
@@ -80,11 +85,11 @@
8085
- [Lista enlazada](miscellaneous/linked-list.md)
8186
- [Huella global](miscellaneous/global-footprint.md)
8287
- [Depuración](miscellaneous/debugging.md)
88+
- [Creación e implementación de aplicaciones JS](miscellaneous/building-and-deploying.md)
8389
- [Retrollamadas](miscellaneous/callback.md)
8490
- [IPA Web y AJAX](miscellaneous/api-ajax.md)
8591
- [Naturaleza de un solo hilo](./miscellaneous/single-thread-nature.md)
8692
- [ECMAScript](miscellaneous/ECMA-script.md)
87-
- [Creación e implementación de aplicaciones JS](miscellaneous/building-and-deploying.md)
8893
- [Pruebas](miscellaneous/testing.md)
8994
- [Código del lado del servidor](server-side/README.md)
9095
- [Node.js](server-side/nodejs.md)
@@ -100,12 +105,21 @@
100105
- [Objetos](exercises/objects.md)
101106
- [Problema de FizzBuzz](exercises/fizzbuzz-problem.md)
102107
- [¡Consigue los títulos!](exercises/get-the-titles.md)
103-
- [Preguntas de entrevista](interview-questions/README.md)
108+
- [Preguntas de entrevista (Sección de Bonificación)](interview-questions/README.md)
104109
- [Nivel básico](interview-questions/basic-level.md)
105110
- [Nivel intermedio](interview-questions/intermediate-level.md)
106111
- [Nivel avanzado](interview-questions/advance-level.md)
107-
- [Patrones de diseño](design-patterns/README.md)
112+
- [Patrones de diseño (Sección de Bonificación)](design-patterns/README.md)
108113
- [Patrones creacionales](design-patterns/creational-patterns.md)
109114
- [Patrones estructurales](design-patterns/structural-patterns.md)
110115
- [Patrones conductuales](design-patterns/behavioral-patterns.md)
116+
- [Sistema de Ficheros (Sección de Bonificación)](file-system/README.md)
117+
- [Conceptos de ES6 (Sección de Bonificación)](es6-concepts/README.md)
118+
- [Let Const](es6-concepts/let-const.md)
119+
- [Map](es6-concepts/map.md)
120+
- [Funciones flecha](es6-concepts/arrow-functions.md)
121+
- [Desestructurando](es6-concepts/destructuring.md)
122+
- [Literales de plantilla](es6-concepts/template-literals.md)
111123
- [Referencias](References.md)
124+
- [Recursos](resources.md)
125+
- [Créditos](Credits.md)

es/arrays/reverse.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
chapter: 6
3+
pageNumber: 59
4+
description: Para agregar un elemento al comienzo de una matriz podemos usar el método inverso. Modifica la matriz original y devuelve la nueva longitud de la matriz.
5+
---
6+
# Reverse
7+
8+
El método `reverse` se puede utilizar en cualquier tipo de matriz, incluidas matrices de cadenas, matrices de números y matrices de objetos. Por ejemplo.
9+
10+
```javascript
11+
let usuarios = [{
12+
nombre: "John Smith",
13+
edad: 30
14+
}, {
15+
nombre: "Jane Doe",
16+
edad: 25
17+
}];
18+
19+
usuarios.reverse();
20+
21+
console.log(usuarios);
22+
23+
// RESULTADO:
24+
[{
25+
nombre: "Jane Doe",
26+
edad: 25
27+
}, {
28+
nombre: "John Smith",
29+
edad: 30
30+
}];
31+
```
32+
33+
El método `reverse` transpone los elementos del objeto de matriz que llama en su lugar, mutando la matriz y devolviendo una referencia a la matriz.
34+
A continuación se muestra un ejemplo del uso de `reverse` de una matriz:
35+
36+
```javascript
37+
const numeros = [1, 2, 3];
38+
const nuevaLongitud = numeros.reverse();
39+
console.log(numeros); // [3, 2, 1]
40+
```

es/arrays/slice.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
chapter: 6
3+
pageNumber: 60
4+
description: El método Javascript arr.slice() devuelve una nueva matriz que contiene una parte de la matriz en la que se implementa. El original permanece sin cambios.
5+
---
6+
# Slice
7+
8+
El método `slice` acepta dos parametros inicio y fin.
9+
10+
* inicio: Este parámetro define el índice inicial desde donde la porción va a ser extraída.
11+
Si este argumento se pierde entonces el método tomca como inicio el 0 como valor de inicio por defecto.
12+
13+
* final: Este parámetro es el índice hasta el cual se extraerá la porción (excluyendo el índice final).
14+
15+
Si este argumento no está definido, entonces se extrae la matriz hasta el final, ya que es el valor final predeterminado. Si el valor final es mayor que la longitud de la matriz, entonces el valor final cambia a la longitud de la matriz.
16+
17+
```javascript
18+
function func() {
19+
//Matriz original
20+
let arr = [23, 56, 87, 32, 75, 13];
21+
//Matrix extraído
22+
let nuevo_arr = arr.slice();
23+
console.log(arr);
24+
console.log(nuevo_arr);
25+
}
26+
func();
27+
28+
29+
// RESULTADO:
30+
[23,56,87,32,75,13]
31+
[23,56,87,32,75,13]
32+
```
33+
34+
El método `slice()` copia las referencias de objetos a la nueva matriz.
35+
(Por ejemplo, una matriz anidada). Entonces, si se modifica el objeto al que se hace referencia, los cambios son visibles en la nueva matriz devuelta.
36+
37+
```javascript
38+
let humano = {
39+
nombre: "David",
40+
edad: 23,
41+
};
42+
43+
let arr = [humano, "Nepal", "Gestor"];
44+
let nuevo_arr = arr.slice();
45+
46+
// objeto original
47+
console.log(arr[0]); // { nombre: 'David', edad: 23 }
48+
49+
// hacemos cambios al objeto en la nueva matriz
50+
nuevo_arr[0].nombre = "Levy";
51+
52+
// los cambios se ven reflejados
53+
console.log(arr[0]); // { nombre: 'Levy', edad: 23 }
54+
```

es/es6-concepts/README.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
layout: editorial
3+
chapter: 25
4+
pageNumber: 244
5+
description: Las clases son plantillas para crear un objeto. Encapsula datos con código para trabajar con datos. La palabra clave class se utiliza para crear una clase.
6+
---
7+
8+
9+
# Capítulo 25
10+
11+
## Descripción general de ES6 (ECMAScript 2015)
12+
13+
ES6, también conocido como ECMAScript 2016, es una actualización significativa al lenguaje JavaScript. Introduce un montón de nuevas características, sintaxis perfeccionada, y mejoras, convirtiéndolo en un hito fundamental en la evolución de JavaScript. ES6 generó un lenguaje más maduro y potente, que abordó desafíos de larga data y permitió a los desarrolladores escribir código más limpio, más eficiente y fácil de mantener.
14+
15+
Uno de los objetivos principales de ES6 era proporcionar a los desarrolladores herramientas para simplificar las tareas comunes de programación, reducir la complejidad del código, y mejorar la calidad general del código. Ha conseguido esto introduciendo numerosas características y conceptos que se han convertido en estándar en el desarrollo moderno de JavaScript.
16+
17+
ES6 incluye características notables tales como las funciones flecha, las palabras clave `let` y `const` para la declaración de variables, los literales de plantilla, y la poderosa sintaxis `class` para la programación orientada a objetos. Estas mejoras mejoran significativamente la productividad de los desarrolladores y la legibilidad del código.
18+
19+
Adicionalmente, ES6 introduce conceptos como las Promesas (Promises, en inglés) y async/await, que agilizan la programación asíncrona, haciéndola más elegante y menos propensa a errores. Esta simplificación del código asíncrono ha tenido un impacto profundo en el desarrollo web y ha llevado a una forma más intuitiva de manejar operaciones asíncronas, como las solicitudes HTTP.
20+
21+
Las funciones de flecha en ES6 ofrecen una sintaxis concisa para escribir funciones, y vinculan automáticamente el contexto `this` al código circundante, lo cual alivia los problemas con el enlazado de `this` en JavaScript. La introducción de declaraciones de variables de alcance de bloque con `let`y `const` han mejorado la gestión y alcance de las variables, reduciendo fuentes comunes de errores.
22+
23+
Los literales de plantilla proporcionan una manera conveniente de crear cadenas dinámicas con expresiones incrustadas, mientras que la desestructuración simplifica la extracción de valores de matrices y objetos, lo que genera un código más limpio y legible.
24+
25+
En general, ES6 se ha convertido en la piedra angular del desarrollo moderno de JavaScript. Tiene buen soporte en los navegadores web modernos y ha remodelado la forma en que los desarrolladores escriben código JavaScript. Comprender ES6 es crucial para cualquier desarrollador de JavaScript que busque mantenerse actualizado y escribir código más eficiente, mantenible y legible en el panorama de desarrollo web actual.
26+
27+
En este capítulo, vamos a hablar sobre la siguiente sintaxis de ES6.
28+
29+
* [let const](./let-const.md)
30+
* [Objeto map](./map.md)
31+
* [Funciones flecha](./arrow-functions.md)
32+
* [Desestructuración](./destructuring.md)
33+
* [Literales de plantilla](./template-literals.md)

es/es6-concepts/arrow-functions.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
chapter: 25
3+
pageNumber: 248
4+
description: Las funciones de flecha, introducidas en ES6, proporcionan una sintaxis concisa para definir funciones en JavaScript. Son ideales para funciones cortas de una sola expresión y ofrecen simplicidad y claridad, a menudo se usan para iterar sobre matrices y definir funciones de devolución de llamada compactas. Las funciones de flecha son conocidas por su eficiencia y legibilidad.
5+
6+
---
7+
# Funciones flecha en ES6
8+
9+
Las funciones de flecha son una forma concisa de escribir funciones anónimas en JavaScript, introducidas en ES6 (ECMAScript 2015). Proporcionan una sintaxis más compacta y legible para definir funciones, especialmente cuando tiene funciones simples de una sola expresión. Las funciones de flecha son una característica fundamental del JavaScript moderno y ofrecen varias ventajas sobre las expresiones de funciones tradicionales.
10+
11+
**Sintaxis:**
12+
13+
La sintaxis de las funciones de flecha es sencilla:
14+
15+
```javascript
16+
const nombreFuncion = (parametros) => expresion;
17+
```
18+
19+
1. `const nombreFuncion`: Aquí es donde asignas la función a una variable. Puede omitir el nombre de la función para funciones anónimas.
20+
21+
2. `(parametros)`: Estos son los parámetros de entrada (argumentos) que acepta la función. Si solo hay un parámetro, puede omitir los paréntesis.
22+
23+
3. `=>`: La flecha gruesa `=>` indica que está definiendo una función de flecha.
24+
25+
4. `expresion`: Este es el valor que devuelve la función. Si la función consta de una sola declaración, puede omitir las llaves y la palabra clave `return`.
26+
27+
**Ejemplos:**
28+
29+
A continuación se muestran algunos ejemplos para ilustrar la sintaxis de las funciones de flecha:
30+
31+
1. Una función de flecha simple sin parámetros:
32+
33+
```javascript
34+
const diHola = () => "¡Hola, mundo!";
35+
```
36+
37+
2. Una función de flecha con un parámetro:
38+
39+
```javascript
40+
const doblar = (x) => x * 2;
41+
```
42+
43+
3. Una función de flecha con múltiples parámetros:
44+
45+
```javascript
46+
const sumar = (a, b) => a + b;
47+
```
48+
49+
**Casos de uso:**
50+
51+
Las funciones de flecha se usan comúnmente en los siguientes escenarios:
52+
53+
1. **Funciones anónimas y cortas:** Las funciones de flecha son perfectas para funciones cortas de una línea. Reducen la necesidad de escribir una expresión de función completa.
54+
55+
2. **Iteración de matrices:** Las funciones de flecha funcionan bien con métodos de matriz como `map`, `filter` y `reduce` para simplificar la iteración sobre matrices.
56+
57+
```javascript
58+
const numeros = [1, 2, 3, 4, 5];
59+
const doblados = numbers.map((x) => x * 2);
60+
```
61+
62+
3. **Funciones de retrollamada:** A menudo se utilizan como funciones de devolución de llamada para operaciones asincrónicas como `setTimeout` y `fetch`.
63+
64+
```javascript
65+
setTimeout(() => {
66+
console.log("Temporizador terminado");
67+
}, 1000);
68+
```
69+
70+
4. **Vinculación del contexto `this`:** Las funciones de flecha heredan el contexto `this` de su función contenedora, lo que las hace útiles para definir métodos en objetos sin preocuparse por cambiar `this`.
71+
72+
```javascript
73+
const persona = {
74+
nombre: "Juan",
75+
saludar: function() {
76+
setTimeout(() => {
77+
console.log(`Hola, mi nombre es ${this.nombre}`);
78+
}, 1000);
79+
},
80+
};
81+
82+
persona.saludar();
83+
```
84+
85+
Es importante tener en cuenta que las funciones de flecha no son adecuadas para todas las situaciones. Carecen de su propio contexto `this`, no pueden usarse como constructores y pueden no ser apropiadas para funciones con una estructura multilínea más compleja. En tales casos, las expresiones de funciones tradicionales siguen siendo la opción preferida. Las funciones de flecha son más efectivas cuando se usan para funciones simples, concisas y de una sola línea.

es/es6-concepts/destructuring.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
chapter: 25
3+
pageNumber: 250
4+
description: La desestructuración, una característica de ES6, agiliza la extracción de datos de matrices y objetos. Simplifica el proceso al permitirle asignar valores o propiedades específicas directamente a las variables, lo que mejora la claridad y la eficiencia del código. La desestructuración es una herramienta esencial para trabajar con estructuras de datos complejas en JavaScript.
5+
6+
---
7+
# Desestructuración en ES6: descomprimiendo matrices y objetos
8+
9+
La desestructuración es una característica poderosa introducida en ES6 (ECMAScript 2015) que simplifica el proceso de extracción de valores de matrices y propiedades de objetos. Le permite "desempaquetar" valores en variables con una sintaxis concisa y legible.
10+
11+
**Desestructuración de matrices:**
12+
13+
**Sintaxis:**
14+
15+
```javascript
16+
const [variable1, variable2, ...resto] = matriz;
17+
```
18+
19+
- `variable1`, `variable2`: Estas son variables donde se asignan elementos de la matriz.
20+
- `...resto` (operador resto): Esto reúne los elementos restantes en una nueva variable de matriz.
21+
22+
**Ejemplo:**
23+
24+
```javascript
25+
const colores = ["rojo", "verde", "azul"];
26+
const [primerColor, segundoColor] = colores;
27+
console.log(primerColor); // Salida: "rojo"
28+
console.log(segundoColor); // Salida: "verde"
29+
```
30+
31+
**Desestructuración de objetos:**
32+
33+
**Sintaxis:**
34+
35+
```javascript
36+
const { propiedad1, propiedad2, ...resto } = objeto;
37+
```
38+
39+
- `propiedad1`, `propiedad2`: Estas son variables donde se asignan las propiedades del objeto.
40+
- `...resto` (operador resto): Esto reúne las propiedades restantes en un nuevo objeto.
41+
42+
**Ejemplo:**
43+
44+
```javascript
45+
const persona = { nombre: "Alicia", edad: 30, ciudad: "Nueva York" };
46+
const { nombre, edad } = persona;
47+
console.log(nombre); // Salida: "Alicia"
48+
console.log(edad); // Salida: 30
49+
```
50+
51+
**Casos de uso:**
52+
53+
La desestructuración se usa comúnmente para diversas tareas, que incluyen:
54+
55+
1. **Simplificación de la tarea:** Asignar rápidamente elementos de matriz o propiedades de objetos a variables.
56+
57+
2. **Intercambio de variables:** Intercambiar fácilmente los valores de dos variables sin una variable temporal.
58+
59+
3. **Parámetros de función:** Extraer propiedades específicas de un objeto pasado como un parámetro de función.
60+
61+
4. **Otros parámetros:** Reúna los elementos o propiedades restantes en una matriz u objeto.
62+
63+
Al emplear la desestructuración, puede hacer que su código sea más limpio, más expresivo y menos propenso a errores al trabajar con matrices y objetos en JavaScript.

0 commit comments

Comments
 (0)