¿Qué son los parámetros de propagación, predeterminados y de descanso en JavaScript?

Los parámetros predeterminados, extendidos y de descanso se agregaron en ES6.

Parámetro predeterminado : se utiliza para dar los valores predeterminados a los argumentos, si no se proporciona ningún parámetro en la llamada a la función.

Sintaxis:

function fnName(param1 = defaultValue1, ..., paramN = defaultValueN) { 
   ...
}

Ejemplo 1: en el siguiente ejemplo, la primera función da el resultado 7, mientras que la segunda llamada de función será «indefinida» ya que no pasamos ningún segundo argumento. 

Javascript

<script>
    function add(a, b) {
        return a + b
    }
  
    console.log(add(5, 2)); // 7
    console.log(add(5)); // NaN
</script>

Producción:

7
NaN

Ejemplo 2: En este ejemplo, usamos parámetros predeterminados en los que generalmente damos un valor predeterminado si no se proporciona ningún argumento. Tomamos un valor predeterminado de «b» para que en la segunda llamada de función, no proporcionemos ningún argumento, y se tome su valor predeterminado.

Javascript

<script>
    function add(a, b = 3) {
        return a + b
    }
    console.log(add(5, 2))
    console.log(add(5))
</script>

Producción:

7
8

Operador de propagación:   es otro operador proporcionado a través de ES6, generalmente distribuye datos de array/lista.

En el siguiente ejemplo, estamos calculando min de todos los números

Ejemplo 1:

Javascript

<script>
    console.log(Math.min(1, 2, 3, -1)); 
</script>

Producción:

-1

Ejemplo 2: Considere que tenemos una array en lugar de una lista, entonces la función min() anterior no funcionará y dará «NaN».

Javascript

<script>
    // Without spread operator
    let arr = [1, 2, 3, -1];
  
    console.log(Math.min(arr)); // NaN
</script>

Producción:

NaN

Ejemplo 3:   cuando se usa …arr, generalmente se propagan los valores de arr en la función min() .

Javascript

<script>
    // Spread operator
    let arr = [1, 2, 3, -1];
  
    console.log(Math.min(...arr)); // -1
</script>

Producción:

-1

Operador Rest: Permite que una función acepte un número indefinido de argumentos si no estamos seguros de cuántos argumentos recibirá.

Sintaxis:

function f(a, b, ...args) {
    ...
}

Ejemplo: En el siguiente ejemplo, estamos usando el parámetro resto que permite tomar parámetros indefinidos.

Javascript

<script>
    function myFun(a, b, ...manyMoreArgs) {
        console.log("a", a)
        console.log("b", b)
        console.log("manyMoreArgs", manyMoreArgs)
    }
  
    myFun("one", "two", "three", "four", "five", "six");
</script>

Producción:

 

Publicación traducida automáticamente

Artículo escrito por ankit1210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *