fix(guide): simplify directory structure

This commit is contained in:
Mrugesh Mohapatra
2018-10-16 21:26:13 +05:30
parent f989c28c52
commit da0df12ab7
35752 changed files with 0 additions and 317652 deletions

View File

@@ -0,0 +1,61 @@
---
title: Compare Scopes of the var and let Keywords
localeTitle: Comparar los alcances de la var y dejar Palabras clave
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") Recuerda usar **`Read-Search-Ask`** si te atascas. Tratar de emparejar el programa ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") y escribe tu propio código ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":lápiz:")
### Explicación del problema:
Necesitamos cambiar `var` para `let` nuestro alcance de función y agregar `let` a nuestro alcance de bloque.
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") Sugerencia: 1
* Encuentra `var` y reemplaza con `let` .
> _intenta resolver el problema ahora_
* Agregue `let` a la variable `i` dentro de su sentencia if.
> _intenta resolver el problema ahora_
## ¡Alerta de spoiler!
![señal de advertencia](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**¡Solución por delante!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":principiante:") Solución de código básico:
```javascript
function checkScope() {
"use strict";
let i = "function scope";
if (true) {
let i = "block scope";
console.log("Block scope i is: ", i);
}
console.log("Function scope i is: ", i);
return i;
}
```
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":cohete:") [Ejecutar código](https://codepen.io/dylantyates/pen/wxwxRd)
# Explicación del código:
Mediante el uso de `let` se puede declarar variables en relación con su ámbito de aplicación.
#### Enlaces relevantes
* [dejar](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ":portapapeles:") NOTAS PARA LAS CONTRIBUCIONES:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **NO** agregue soluciones que sean similares a las soluciones existentes. Si cree que es **_similar pero mejor_** , intente fusionar (o reemplazar) la solución similar existente.
* Agregue una explicación de su solución.
* Categorice la solución en una de las siguientes categorías: **Básica** , **Intermedia** y **Avanzada** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ":semáforo:")
* Agregue su nombre de usuario solo si ha agregado algún **contenido principal relevante** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **_NO_** _elimine ningún nombre de usuario existente_ )
> Ver ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) para referencia.

View File

@@ -0,0 +1,21 @@
---
title: Create an Export Fallback with export default
localeTitle: Crear un respaldo de exportación con la exportación predeterminada
---
## Crear un respaldo de exportación con la exportación predeterminada
¿Qué es un valor de reserva? Es básicamente un valor predeterminado al que se volverá el código si no se ha establecido nada. Por ejemplo, las variables tienen el valor de retorno predeterminado de `undefined` . Dicho esto, una pista para este desafío!
## Sugerencia 1:
Simplemente agregue `export default` al principio de la función.
## Alerta de Spoiler - ¡Solución por delante!
## Solución:
```javascript
"use strict";
export default function subtract(x,y) {return x - y;}
```

View File

@@ -0,0 +1,37 @@
---
title: Create Strings Using Template Literals
localeTitle: Crear cadenas usando literales de plantilla
---
En lugar de utilizar concatenación de cadenas, ES6 ofrece literales de plantilla para crear cadenas. En este desafío, tienes que usar literales de plantilla para crear una serie de advertencias de texto.
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") Recuerda usar **`Read-Search-Ask`** si te atascas. Intenta vincular el programa y escribe tu propio código.
### Explicación del problema:
Se requiere usar literales de plantilla para devolver una lista, ya que cada elemento de la matriz, ya que el elemento se incluirá en una etiqueta `<li></li>` .
## Sugerencia: 1
* Use la función `map()` para aplicar los literales de la plantilla en todos los elementos `arr`
> _intenta resolver el problema ahora_
## Sugerencia: 2
* Dentro del `map()` usa una función de flecha que tiene un `element` como parámetro y devuelve `<li></li>` que tiene la clase de advertencia de texto y que contiene el `element` en su interior
> _intenta resolver el problema ahora_
## ¡Alerta de spoiler!
![señal de advertencia](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**¡Solución por delante!**
``const resultDisplayArray = arr.map(item => `<li class="text-warning">${item}</li>`);``
## No hay mapa () solución
A pesar de que es una solución menos flexible, si conoce la cantidad de elementos de antemano, puede enumerarlos como en
``const resultDisplayArray = [`<li class="text-warning">${arr[0]}</li>`, `<li class="text-warning">${arr[1]}</li>` ,`<li class="text-warning">${arr[2]}</li>`];``

View File

@@ -0,0 +1,68 @@
---
title: Declare a Read-Only Variable with the const Keyword
localeTitle: Declare una variable de solo lectura con la palabra clave const
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") Recuerda usar **`Read-Search-Ask`** si te atascas. Tratar de emparejar el programa ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") y escribe tu propio código ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":lápiz:")
### Explicación del problema:
Cambia todas las variables a `let` o `const` y renombra la `sentence` .
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") Sugerencia: 1
* Reemplace `var` por cadena con `const` solo lectura.
> _intenta resolver el problema ahora_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") Sugerencia: 1
* Reemplazar `var` en el `for` bucle para `let` .
> _intenta resolver el problema ahora_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") Sugerencia: 1
* La convención común es nombrar las variables `const` con TODAS LAS CAPS.
> _intenta resolver el problema ahora_
## ¡Alerta de spoiler!
![señal de advertencia](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**¡Solución por delante!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":principiante:") Solución de código básico:
```javascript
function printManyTimes(str) {
"use strict";
const SENTENCE = str + " is cool!";
for(let i = 0; i < str.length; i+=2) {
console.log(SENTENCE);
}
}
printManyTimes("freeCodeCamp");
```
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":cohete:") [Ejecutar código](https://codepen.io/dylantyates/pen/OwVxyx)
# Explicación del código:
Al usar `const` en `sentence` podemos hacerlo de solo lectura y al usar `let` on `i` en el bucle for podemos evitar el uso de `var` completo. Para mayor claridad de código, también podemos cambiar la `sentence` a `SENTENCE` para mostrar que es una constante.
#### Enlaces relevantes
* [const](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const)
* [dejar](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ":portapapeles:") NOTAS PARA LAS CONTRIBUCIONES:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **NO** agregue soluciones que sean similares a las soluciones existentes. Si cree que es **_similar pero mejor_** , intente fusionar (o reemplazar) la solución similar existente.
* Agregue una explicación de su solución.
* Categorice la solución en una de las siguientes categorías: **Básica** , **Intermedia** y **Avanzada** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ":semáforo:")
* Agregue su nombre de usuario solo si ha agregado algún **contenido principal relevante** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **_NO_** _elimine ningún nombre de usuario existente_ )
> Ver ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) para referencia.

View File

@@ -0,0 +1,58 @@
---
title: Explore Differences Between the var and let Keywords
localeTitle: Explora las diferencias entre la var y deja palabras clave
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") Recuerda usar **`Read-Search-Ask`** si te atascas. Tratar de emparejar el programa ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") y escribe tu propio código ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":lápiz:")
### Explicación del problema:
Necesitamos cambiar cada `var` para `let` nuestro código.
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") Sugerencia: 1
* Encuentra cada `var` y reemplaza con `let` .
> _intenta resolver el problema ahora_
## ¡Alerta de spoiler!
![señal de advertencia](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**¡Solución por delante!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":principiante:") Solución de código básico:
```javascript
let catName;
let quote;
function catTalk() {
"use strict";
catName = "Oliver";
quote = catName + " says Meow!";
}
catTalk();
```
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":cohete:") [Ejecutar código](https://codepen.io/dylantyates/pen/eKqoGY)
# Explicación del código:
Usando `let` lugar de `var` podemos evitar anular `catName` y `quote` .
#### Enlaces relevantes
* [var](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var)
* [dejar](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ":portapapeles:") NOTAS PARA LAS CONTRIBUCIONES:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **NO** agregue soluciones que sean similares a las soluciones existentes. Si cree que es **_similar pero mejor_** , intente fusionar (o reemplazar) la solución similar existente.
* Agregue una explicación de su solución.
* Categorice la solución en una de las siguientes categorías: **Básica** , **Intermedia** y **Avanzada** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ":semáforo:")
* Agregue su nombre de usuario solo si ha agregado algún **contenido principal relevante** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **_NO_** _elimine ningún nombre de usuario existente_ )
> Ver ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) para referencia.

View File

@@ -0,0 +1,22 @@
---
title: Import a Default Export
localeTitle: Importar una exportación predeterminada
---
## Importar una exportación predeterminada
Importar un valor predeterminado de exportación es casi lo mismo que importar una exportación normal; ¡simplemente no necesita las llaves para definir el nombre de lo que está importando desde el archivo!
## Sugerencia 1:
Rellene los espacios en blanco: `import _ from "file-name"` . Conecte el nombre de su módulo (que es `subtract` ) en `_` , y ponga `"math-functions"` en `"file-name"` .
## Alerta de Spoiler - ¡Solución por delante!
## Solución:
```javascript
"use strict";
import subtract from "math_functions";
subtract(7,4);
```

View File

@@ -0,0 +1,11 @@
---
title: ES6
localeTitle: ES6
---
## ES6
Esto es un talón. [Ayuda a nuestra comunidad a expandirla](https://github.com/freecodecamp/guides/tree/master/src/pages/mathematics/quadratic-equations/index.md) .
[Esta guía rápida de estilo ayudará a asegurar que su solicitud de extracción sea aceptada](https://github.com/freecodecamp/guides/blob/master/README.md) .
#### Más información:

View File

@@ -0,0 +1,62 @@
---
title: Mutate an Array Declared with const
localeTitle: Mutar una matriz declarada con const
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") Recuerda usar **`Read-Search-Ask`** si te atascas. Tratar de emparejar el programa ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") y escribe tu propio código ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":lápiz:")
### Explicación del problema:
Reasignar los valores de los `const` variables `s` utilizando diferentes de asignación de elementos.
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") Sugerencia: 1
* Puede cambiar los valores de la matriz en `const` como puede con `var` o `let` .
> _intenta resolver el problema ahora_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") Sugerencia: 1
* Para acceder al valor de la matriz use array \[índice\]
> _intenta resolver el problema ahora_
## ¡Alerta de spoiler!
![señal de advertencia](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**¡Solución por delante!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":principiante:") Solución de código básico:
```javascript
const s = [5, 7, 2];
function editInPlace() {
"use strict";
s[0] = 2;
s[1] = 5;
s[2] = 7;
}
editInPlace();
```
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":cohete:") [Ejecutar código](https://codepen.io/dylantyates/pen/djoVjW)
# Explicación del código:
Intentar reasignar una variable `const` solo lectura generará un error, pero al usar varios elementos de asignación puede acceder y cambiar el valor de una matriz como lo haría con `let` o `var` .
#### Enlaces relevantes
* [const](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const)
* [Formación](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ":portapapeles:") NOTAS PARA LAS CONTRIBUCIONES:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **NO** agregue soluciones que sean similares a las soluciones existentes. Si cree que es **_similar pero mejor_** , intente fusionar (o reemplazar) la solución similar existente.
* Agregue una explicación de su solución.
* Categorice la solución en una de las siguientes categorías: **Básica** , **Intermedia** y **Avanzada** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ":semáforo:")
* Agregue su nombre de usuario solo si ha agregado algún **contenido principal relevante** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **_NO_** _elimine ningún nombre de usuario existente_ )
> Ver ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) para referencia.

View File

@@ -0,0 +1,64 @@
---
title: Prevent Object Mutation
localeTitle: Prevenir la mutación de objetos
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") Recuerda usar **`Read-Search-Ask`** si te atascas. Tratar de emparejar el programa ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") y escribe tu propio código ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":lápiz:")
### Explicación del problema:
Necesitamos evitar que el valor de `MATH_CONSTANTS` cambie.
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") Sugerencia: 1
* Use Object.freeze (obj) para evitar que se cambie el objeto.
> _intenta resolver el problema ahora_
## ¡Alerta de spoiler!
![señal de advertencia](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**¡Solución por delante!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":principiante:") Solución de código básico:
```javascript
function freezeObj() {
"use strict";
const MATH_CONSTANTS = {
PI: 3.14
};
Object.freeze(MATH_CONSTANTS);
try {
MATH_CONSTANTS.PI = 99;
} catch( ex ) {
console.log(ex);
}
return MATH_CONSTANTS.PI;
}
const PI = freezeObj();
```
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":cohete:") [Ejecutar código](https://codepen.io/dylantyates/pen/OwVxYB)
# Explicación del código:
Al usar Object.freeze () en `MATH_CONSTANTS` podemos evitar manipularlo.
#### Enlaces relevantes
* [Object.freeze ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ":portapapeles:") NOTAS PARA LAS CONTRIBUCIONES:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **NO** agregue soluciones que sean similares a las soluciones existentes. Si cree que es **_similar pero mejor_** , intente fusionar (o reemplazar) la solución similar existente.
* Agregue una explicación de su solución.
* Categorice la solución en una de las siguientes categorías: **Básica** , **Intermedia** y **Avanzada** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ":semáforo:")
* Agregue su nombre de usuario solo si ha agregado algún **contenido principal relevante** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **_NO_** _elimine ningún nombre de usuario existente_ )
> Ver ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) para referencia.

View File

@@ -0,0 +1,72 @@
---
title: Set Default Parameters for Your Functions
localeTitle: Establecer parámetros predeterminados para sus funciones
---
## Establecer parámetros predeterminados para sus funciones
: _bandera_ triangular en la _publicación: recuerda usar Lectura-Búsqueda-Preguntar si te atascas. Intente emparejar el programa: bustos_ en\_silhouette: y escriba su propio código: lápiz:
### : checkered\_flag: Explicación del problema:
```javascript
const increment = (function() {
"use strict";
return function increment(number, value) {
return number + value;
};
})();
console.log(increment(5, 2)); // returns 7
console.log(increment(5)); // returns NaN
```
Estaremos modificando la función de incremento para que el parámetro del **número** se incremente en 1 de forma predeterminada, estableciendo el **valor** en 1 si no se pasa un valor para el **valor** a la función de incremento.
### : speech\_balloon: Sugerencia: 1
Identifiquemos dónde está el **valor** del parámetro en la función JS
intenta resolver el problema ahora
### : speech\_balloon: Sugerencia: 2
Establecer el **valor** igual a algo para que sea ese valor por defecto
intenta resolver el problema ahora
### ¡Alerta de spoiler!
![alerón](http://discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
¡Solución por delante!
## : principiante: Solución de código básico:
```javascript
const increment = (function() {
"use strict";
return function increment(number, value = 1) {
return number + value;
};
})();
console.log(increment(5, 2)); // returns 7
console.log(increment(5)); // returns NaN
```
: cohete: [Ejecutar código](https://repl.it/@RyanPisuena/PleasingFumblingThings)
## Explicación del Código
* Esta sección es bastante sencilla. Pasar esta sección estableciendo el parámetro de **valor** igual a 1. Cuando la función se encuentra con casos de prueba donde **el valor** no se ha pasado nada, entonces **el valor** será asignado uno por defecto.
Enlaces relevantes:
[Parámetros por defecto de Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters)
# : Portapapeles: NOTAS DE CONTRIBUCIONES:
* : advertencia: NO agregue soluciones que sean similares a las soluciones existentes. Si cree que es similar pero mejor, intente fusionar (o reemplazar) la solución similar existente.
* Agregue una explicación de su solución.
* Categorice la solución en una de las siguientes categorías: Básica, Intermedia y Avanzada. :semáforo:
* Agregue su nombre de usuario solo si ha agregado algún contenido principal relevante. (: advertencia: NO elimine ningún nombre de usuario existente)
Vea: point\_right: [Wiki Challenge Solution Template](https://forum.freecodecamp.org/t/freecodecamp-algorithm-challenge-template-guide/14272) para referencia.

View File

@@ -0,0 +1,24 @@
---
title: Understand the Differences Between import and require
localeTitle: Comprender las diferencias entre importar y requerir
---
## Comprender las diferencias entre importar y requerir
Aclaremos: `require()` carga el archivo completo y sus componentes (funciones, variables), mientras que `import _ from` permite elegir los componentes que desea.
En esta lección, tiene la tarea de importar la función `capitalizeStrings()` , que proviene del archivo `"string-functions"` .
## Sugerencia 1:
Rellene los espacios en blanco: `import { function_name } from "file_name"` . El nombre de su función es `capitalizeStrings` , y el nombre de su archivo es `"string-functions"` .
## Alerta de Spoiler - ¡Solución por delante!
## Solución
```javascript
"use strict";
import { capitalizeString } from "string-functions";
capitalizeString("hello!");
```

View File

@@ -0,0 +1,21 @@
---
title: Use * to Import Everything from a File
localeTitle: Usa * para importar todo desde un archivo
---
## Usa \* para importar todo desde un archivo
Si desea importar todo lo posible desde un archivo, use la `import * as _ from` sintaxis, proporcionada por ES6. ¡Eso es exactamente lo que tienes que hacer en este desafío!
## Sugerencia 1:
Rellene los espacios en blanco: `import * as objName from "file-name"` . Puede ser creativo con su `objName` , pero su nombre de archivo debe ser `capitalize_strings` .
## Alerta de Spoiler - ¡Solución por delante!
## Solución:
```javascript
"use strict";
import * as str from "capitalize_strings";
```

View File

@@ -0,0 +1,30 @@
---
title: Use Arrow Functions to Write Concise Anonymous Functions
localeTitle: Utilice las funciones de flecha para escribir funciones anónimas concisas
---
## Utilice las funciones de flecha para escribir funciones anónimas concisas
Una vez más, ES6 se trata de hacer que JavaScript sea más elegante y, para algunos, más legible.
Las funciones anónimas, como se indicó, pueden crearse cuando está seguro de que la función no se llamará por su nombre en ningún otro lugar.
## Sugerencia 1:
Deshágase de la palabra clave de `function` y conecte esta flecha `=>` .
## Sugerencia 2:
¿Te deshiciste de la palabra clave `var` ?
## Alerta de Spoiler - ¡Solución por delante!
## Solución
```javascript
const magic = () => {
"use strict";
return new Date();
};
```
Mientras te deshagas de la palabra clave `var` , eres bueno.

View File

@@ -0,0 +1,58 @@
---
title: Use class Syntax to Define a Constructor Function
localeTitle: Use la clase Sintaxis para definir una función constructora
---
## Use la clase Sintaxis para definir una función constructora
En esta lección, está definiendo el objeto Vegetable utilizando la sintaxis de clase.
## Sugerencia 1:
Crea la clase llamada `Vegetable` . Contendrá los detalles necesarios sobre el objeto `Vegetable` .
## Sugerencia 2:
Coloque un constructor con un parámetro llamado `name` y `this.name` en `this.name` .
## Alerta de Spoiler - ¡Solución por delante!
## Solución:
```javascript
function makeClass() {
"use strict";
/* Alter code below this line */
class Vegetable {
constructor(name){
this.name = name;
}
}
/* Alter code above this line */
return Vegetable;
}
```
\=======
Advertencia de Spoiler: aquí hay una solución básica para este desafío en caso de que esté atascado.
```javascript
function makeClass() {
"use strict";
/* Alter code below this line */
class Vegetable {
constructor(Vegetable){
this.Vegetable = Vegetable;
}
}
/* Alter code above this line */
return Vegetable;
}
const Vegetable = makeClass();
const carrot = new Vegetable('carrot');
console.log(carrot.name); // => should be 'carrot'
```

View File

@@ -0,0 +1,14 @@
---
title: Use Destructuring Assignment to Assign Variables from Arrays
localeTitle: Utilice la asignación de destrucción para asignar variables de matrices
---
## Utilice la asignación de destrucción para asignar variables de matrices
Tenemos que tomar alguna precaución en este caso.
1. No hay necesidad de const \[b, a\] ya que mantendrá el efecto de la asignación local.
2. const \[b, a\] = \[a, b\] dará como resultado el valor de a, b como indefinido (regla de asignación simple de izquierda a derecha).
De ahí que la solución a este problema sea \[b, a\] = \[a, b\]

View File

@@ -0,0 +1,18 @@
---
title: Use Destructuring Assignment to Assign Variables from Nested Objects
localeTitle: Utilice la asignación de destrucción para asignar variables de objetos anidados
---
## Utilice la asignación de destrucción para asignar variables de objetos anidados
Sugerencia para pasar la prueba final: _se usó la desestructuración anidada_
La prueba quiere que obtengas `max` y `max` solo. Si destruye su constante para contener tanto el `max` como el `min` , la prueba fallará.
## Spoiler!
Aquí está la solución del código:
```javascript
const { tomorrow: { max: maxOfTomorrow } } = forecast;
```

View File

@@ -0,0 +1,22 @@
---
title: Use Destructuring Assignment to Assign Variables from Objects
localeTitle: Usar asignación de destrucción para asignar variables de objetos
---
## Usar asignación de destrucción para asignar variables de objetos
# Este desafío requiere cierta intuición sobre los objetos de cadena en javascript.
Cuando creas un objeto de cadena, se basa en el siguiente [prototipo de cadena](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/prototype) .
Por lo tanto, cada cadena tiene una propiedad de longitud; genericString = {longitud: 13}. (Esta es la única propiedad adoptada del String.prototype.)
# Reasignar propiedades usando deconstrucción.
```javascript
var basicOjb = {x: 40};
//To reassign 'get the value of the x property of basicObj and place its value into bigX' in ES6:
const { x: bigX } = basicOjb;
consle.log(bigX) // ans = 40
```
Coloque el valor de la propiedad de longitud de 'str' en len.

View File

@@ -0,0 +1,50 @@
---
title: Use Destructuring Assignment to Pass an Object as a Function's Parameters
localeTitle: Utilice la asignación de destrucción para pasar un objeto como parámetros de una función
---
## Utilice la asignación de destrucción para pasar un objeto como parámetros de una función
Podría pasar todo el objeto y luego elegir los atributos específicos que desea mediante el uso de `.` operador. ¡Pero ES6 ofrece una opción más elegante!
## Sugerencia 1:
Deshazte de las `stats` y ve si puedes destruirlas. Necesitamos el `max` y `min` de `stats` .
## Advertencia de Spoiler - Soluciones por delante!
## Solución 1:
```javascript
const half = (function() {
"use strict"; // do not change this line
// change code below this line
return function half({max, min}) {
// use function argument destructuring
return (max + min) / 2.0;
};
// change code above this line
})();
```
Observe que estamos desestructurando `stats` para pasar dos de sus atributos, `max` y `min` , a la función. No te olvides de modificar la segunda declaración de retorno. Cambie `stats.max` a solo `max` , y cambie `stats.min` a solo `min` .
## Solución 2:
Aquí hay otra solución que funciona. No hay mucha diferencia, aparte del hecho de que la función no tiene un nombre.
```javascript
const half = (function() {
"use strict"; // do not change this line
// change code below this line
return (({max, min}) => {
// use function argument destructuring
return (max + min) / 2.0;
});
// change code above this line
})();
```

View File

@@ -0,0 +1,72 @@
---
title: Use Destructuring Assignment with the Rest Operator to Reassign Array Elements
localeTitle: Utilice la asignación de destrucción con el operador de reposo para reasignar elementos de matriz
---
## Utilice la asignación de destrucción con el operador de reposo para reasignar elementos de matriz
Recuerde que el operador resto permite números variables de argumentos. En este desafío, debes deshacerte de los dos primeros elementos de una matriz.
## Sugerencia 1:
Asigna los dos primeros elementos a dos variables aleatorias.
## Sugerencia 2:
Establezca la parte restante de la matriz en `...arr` .
\=======
## Sugerencia 1
Usa la desestructuración para crear la variable `arr` .
```javascript
function removeFirstTwo(list) {
"use strict";
// change code below this line
const [arr] = list; // change this
// change code above this line
return arr;
}
```
## Sugerencia 2
Difunde el parámetro de `list` en `arr` .
```javascript
function removeFirstTwo(list) {
"use strict";
// change code below this line
const [...arr] = list; // change this
// change code above this line
return arr;
}
```
## Sugerencia 3
Excluye los dos primeros elementos de la matriz `arr` con `,,` .
```javascript
function removeFirstTwo(list) {
"use strict";
// change code below this line
const [,,...arr] = list; // change this
// change code above this line
return arr;
}
```
## Alerta de Spoiler - ¡Solución por delante!
```javascript
function removeFirstTwo(list) {
"use strict";
// change code below this line
const [a, b, ...arr] = list;
// change code above this line
return arr;
}
```

View File

@@ -0,0 +1,24 @@
---
title: Use export to Reuse a Code Block
localeTitle: Usar la exportación para reutilizar un bloque de código
---
## Usar la exportación para reutilizar un bloque de código
Aprendimos cómo importar cosas desde otro archivo. Pero hay una trampa. Solo puede importar archivos que se **exportan** desde ese otro archivo.
Tu tarea aquí es exportar `foo` y `bar` .
## Sugerencia 1:
Solo agrega exportación delante de ellos!
## Alerta de Spoiler - ¡Solución por delante!
## Solución
```javascript
"use strict";
export const foo = "bar";
export const bar = "foo";
```

View File

@@ -0,0 +1,50 @@
---
title: Use getters and setters to Control Access to an Object
localeTitle: Usar getters y setters para controlar el acceso a un objeto
---
## Usar getters y setters para controlar el acceso a un objeto
Getters y setters son partes críticas de una clase / objeto. Te permiten controlar sus atributos desde el exterior. Se volverán más prominentes cuando comience con la unidad de programación orientada a objetos (¡próximamente!). Por ahora, este ejercicio te muestra cómo manipularlos con ES6.
## Sugerencia 1:
Crea la clase, Termostato. Vas a poner tu constructor, getter y setter aquí.
## Sugerencia 2:
Déle al constructor un parámetro (que puede nombrar como quiera). Establecer el parámetro a un atributo del mismo nombre. Recuerde, inicialmente está configurando las cosas en la temperatura de Farenheit.
## Sugerencia 3:
Cree un método de obtención que convierta el atributo Farenheit a Celsius. Usa la fórmula que te ha sido dada.
## Sugerencia 4:
Cree un método de configuración del mismo nombre que el método de obtención. Debe tener un parámetro que acepte temperatura centígrada. Conviértalo a farenheit y ajústelo al atributo.
## Alerta de Spoiler - ¡Solución por delante!
## Solución
```javascript
function makeClass() {
"use strict";
/* Alter code below this line */
class Thermostat{
constructor(farenheit){
this.farenheit = farenheit;
}
get temperature(){
return 5 / 9 * (this.farenheit - 32);
}
set temperature(celsius){
this.farenheit = celsius * 9.0 / 5 + 32;
}
}
/* Alter code above this line */
return Thermostat;
}
```

View File

@@ -0,0 +1,47 @@
---
title: Use the Rest Operator with Function Parameters
localeTitle: Utilice el operador de reposo con parámetros de función
---
## Utilice el operador de reposo con parámetros de función
### Explicación del parámetro de descanso
[Red de desarrolladores de Mozilla](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters "Red de desarrolladores de Mozilla")
### Operador de propagación comparado con el parámetro de reposo
[Desbordamiento de pila](https://stackoverflow.com/questions/33898512/spread-operator-vs-rest-parameter-in-es2015-es6 "Desbordamiento de pila")
### Video explicativo de la propagación y el descanso.
[!["Imagen](http://img.youtube.com/vi/iLx4ma8ZqvQ/0.jpg)](http://www.youtube.com/watch?feature=player_embedded&v=iLx4ma8ZqvQ
)
[### Ejemplo
Este codigo
```javascript
const product = (function() {
"use strict";
return function product(n1, n2, n3) {
const args = [n1, n2, n3];
return args.reduce((a, b) => a * b, 1);
};
})();
console.log(product(2, 4, 6));//48
```
Puede ser escrito como tal
```javascript
const product = (function() {
"use strict";
return function product(...n) {
return n.reduce((a, b) => a * b, 1);
};
})();
console.log(product(2, 4, 6));//48
```](http://www.youtube.com/watch?feature=player_embedded&v=iLx4ma8ZqvQ
)

View File

@@ -0,0 +1,49 @@
---
title: Use the Spread Operator to Evaluate Arrays In-Place
localeTitle: Utilice el operador de propagación para evaluar matrices en el lugar
---
## Utilice el operador de propagación para evaluar matrices en el lugar
### Operador de propagación explicado
[Mozilla Developer Network Spread Operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax "Red de desarrolladores de Mozilla")
### Operador de propagación comparado con el parámetro de descanso
[Desbordamiento de pila](https://stackoverflow.com/questions/33898512/spread-operator-vs-rest-parameter-in-es2015-es6 "Desbordamiento de pila")
### Video que explica el operador de propagación y el parámetro de descanso
[!["Imagen](http://img.youtube.com/vi/iLx4ma8ZqvQ/0.jpg)](http://www.youtube.com/watch?feature=player_embedded&v=iLx4ma8ZqvQ
)
[
### Información sobre el método Apply ()
](http://www.youtube.com/watch?feature=player_embedded&v=iLx4ma8ZqvQ
)
[](http://www.youtube.com/watch?feature=player_embedded&v=iLx4ma8ZqvQ
)[Método de aplicación de la red de desarrolladores de Mozilla](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply "Red de desarrolladores de Mozilla")
### 3 ejemplos rápidos
```javascript
let numbers = [-12, 160, 0, -3, 51];
let minNum = Math.min.apply(null, numbers);
console.log(minNum);//-12
```
```javascript
let numbers = [-12, 160, 0, -3, 51];
let minNum = Math.min(numbers);
console.log(minNum);//NaN
```
```javascript
let numbers = [-12, 160, 0, -3, 51];
let minNum = Math.min(...numbers);
console.log(minNum);//-12
```

View File

@@ -0,0 +1,31 @@
---
title: Write Arrow Functions with Parameters
localeTitle: Escribir funciones de flecha con parámetros
---
## Escribir funciones de flecha con parámetros
Aquí hay un [recurso genial sobre funciones anónimas en JavaScript](http://helephant.com/2008/08/23/javascript-anonymous-functions/) , en caso de que todavía se esté preguntando qué son y cuál es su función.
Ahora, tienes la tarea de poner parámetros dentro de las funciones de flecha.
## Sugerencia 1:
Deshazte de la palabra clave de `function` . Ponga el operador de flecha.
## Sugerencia 2:
Asegúrate de cambiar la `var` a una `const` .
## Advertencia de Spoiler - ¡Solución por delante!
## Solución:
```javascript
const myConcat = (arr1, arr2) => {
"use strict";
return arr1.concat(arr2);
};
// test your code
console.log(myConcat([1, 2], [3, 4, 5]));
```

View File

@@ -0,0 +1,26 @@
---
title: Write Concise Declarative Functions with ES6
localeTitle: Escribir funciones declarativas concisas con ES6
---
## Escribir funciones declarativas concisas con ES6
ES6 hace que sea fácil y elegante escribir funciones declarativas. En esta lección, tiene la tarea de cambiar la función para seguir los estándares ES6.
## Sugerencia 1:
Deshazte de la palabra clave de `function` .
## Alerta de Spoiler - ¡Solución por delante!
## Solución
```javascript
const bicycle = {
gear: 2,
setGear(newGear) {
"use strict";
this.gear = newGear;
}
};
```

View File

@@ -0,0 +1,29 @@
---
title: Write Concise Object Literal Declarations Using Simple Fields
localeTitle: Escriba declaraciones literales de objetos concisos utilizando campos simples
---
## Escriba declaraciones literales de objetos concisos utilizando campos simples
Aquí, tenemos la tarea de devolver un objeto que acepte los parámetros de la función como sus atributos.
# Sugerencia 1:
Deshazte de los dos puntos, y de las palabras duplicadas.
## Alerta de Spoiler - Solución por delante
## Solución
```javascript
const createPerson = (name, age, gender) => {
"use strict";
// change code below this line
return {
name,
age,
gender
};
// change code above this line
};
```

View File

@@ -0,0 +1,70 @@
---
title: Write Higher Order Arrow Functions
localeTitle: Escribir funciones de flecha de orden superior
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") Recuerda usar **`Read-Search-Ask`** si te atascas. Tratar de emparejar el programa ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") y escribe tu propio código ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":lápiz:")
### Explicación del problema:
Necesitamos calcular y cuadrar los valores de `realNumberArray` y almacenarlos en la variable `squaredIntegers` utilizando las `squaredIntegers` `map()` , `filter()` y `reduce()` .
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") Sugerencia: 1
* Necesitará `filter()` el `realNumberArray` para enteros positivos (los decimales no son enteros).
> _intenta resolver el problema ahora_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") Sugerencia: 2
* Deberá `map()` los valores de su función de `filter()` a la variable `squaredIntegers` .
> _intenta resolver el problema ahora_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") Sugerencia: 3
* Recuerda la magia de encadenar funciones.
> _intenta resolver el problema ahora_
## ¡Alerta de spoiler!
![señal de advertencia](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**¡Solución por delante!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":principiante:") Solución de código básico:
```javascript
const squareList = (arr) => {
"use strict";
const squaredIntegers = arr.filter( (num) => num > 0 && num % parseInt(num) === 0 ).map( (num) => Math.pow(num, 2) );
return squaredIntegers;
};
// test your code
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);
```
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":cohete:") [Ejecutar código](https://codepen.io/dylantyates/pen/WyWoYJ)
# Explicación del código:
Utiliza las funciones de `filter()` operador `filter()` y `map()` para cuadrar todos los enteros positivos en una matriz dada.
#### Enlaces relevantes
* [mapa()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)
* [filtrar()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)
* [reducir()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ":portapapeles:") NOTAS PARA LAS CONTRIBUCIONES:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **NO** agregue soluciones que sean similares a las soluciones existentes. Si cree que es **_similar pero mejor_** , intente fusionar (o reemplazar) la solución similar existente.
* Agregue una explicación de su solución.
* Categorice la solución en una de las siguientes categorías: **Básica** , **Intermedia** y **Avanzada** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ":semáforo:")
* Agregue su nombre de usuario solo si ha agregado algún **contenido principal relevante** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":advertencia:") **_NO_** _elimine ningún nombre de usuario existente_ )
> Ver ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) para referencia.