Resto de parámetros en TypeScript

En Typescript , podemos especificar un número indefinido de argumentos como una array utilizando la sintaxis de parámetros de descanso. Se puede llamar a una función con cualquier cantidad de argumentos utilizando el parámetro rest, independientemente de cómo se haya definido. 

Un parámetro de descanso nos permite pasar cero o cualquier cantidad de argumentos del tipo especificado a una función. En la definición de la función donde especificamos los parámetros de la función, los parámetros de descanso siempre deben aparecer al final o el compilador de TypeScript generará errores.

Sintaxis: A continuación se muestra la sintaxis del parámetro resto:

function function_name(...rest: type[]) {
  // Type of the is the type of the array. 
}

Ejemplo 1: Promedio de números usando el parámetro resto. El siguiente código es un ejemplo para el parámetro resto donde pasamos cualquier número de argumentos que queramos y el promedio de los números se muestra como salida.

Javascript

function getAverage(...args: number[]) {
  var avg = args.reduce(function (a, b) {
      return a + b;
    }, 0) / args.length;
  
  return avg;
}
  
// Function call
console.log("Average of the given numbers is : " + 
    getAverage(10, 20, 30, 40, 50));
console.log("Average of the given numbers is : " + 
    getAverage(1.5, 3.5, 5.5, 7.5, 9.5));
console.log("Average of the given numbers is : " + 
    getAverage(2, 4, 6));

Producción:

Average of the given numbers is : 30
Average of the given numbers is : 5.5
Average of the given numbers is : 4

Ejemplo 2: el parámetro resto es de tipo string en este ejemplo. Toma parámetros de tipo string. Hay dos parámetros en el siguiente programa. El parámetro resto siempre debe ir al final. Usamos el método join() para unir las strings mediante una string ‘ , ‘. En este ejemplo, se devuelve una string simple. 

Javascript

function Job(Job_title: string, 
    ...people: string[]) {
  return people.join(", ") + " are " + Job_title;
}
  
console.log(Job("mathematicians", "rachel", 
    "john", "peter"));
console.log(Job("coders", "sarah", "joseph"));

Producción:

rachel, john, peter are mathematicians
sarah, joseph are coders

Ejemplo 3: ¿Qué pasa si definimos el parámetro resto al principio? Toma solo un parámetro en lugar de tomar un número indefinido de argumentos. El compilador TypeScript generará errores y la función será inútil. 

Javascript

function Job(...people: string[], 
    Job_title: string) {
  return people.join(", ") + " are " + Job_title;
}
  
console.log(Job("rachel", "john", "peter", 
    "Mathematicians"));
console.log(Job("sarah", "joseph", "coders"));

Salida: el compilador TypeScript generó el error.

error TS1014: A rest parameter must be last in a parameter list.
76 function Job(...people: string[], Job_title: string) { ... }        

Referencia: https://www.typescripttutorial.net/typescript-tutorial/typescript-rest-parameters/

Publicación traducida automáticamente

Artículo escrito por sarahjane3102 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 *