¿Qué son las funciones Arrow/lambda en TypeScript?

La función Arrow/lambda es una forma concisa de una función normal en Typescript . Las funciones de flecha también se conocen como funciones lambda. Usamos “=>” (símbolo de flecha) en la función de flecha y no usamos la palabra clave ‘función’. Podemos usar este método cuando queremos que nuestro código sea corto y no llamar a la función cada vez. 

Sintaxis:

  • Función de flecha que tiene múltiples parámetros:

    (param1, param2, ..., paramN) => expression;
  • Función de flecha sin parámetros:

    () => expressions;

Ejemplo 1 (función de flecha con parámetros): en el siguiente código, creamos una función de flecha con dos parámetros name y roll_no. La función devuelve una string que contiene dos parámetros. Usamos {} corchetes y devolvemos la palabra clave. 

Javascript

let string1 = (name: string, roll_no: number) => {
  return "i am " + name + " and my roll no is "
  + `${roll_no.toString()}`;
};
  
console.log(string1("srinivas", 49));

Producción: 

i am srinivas and my roll no is 49

Generalmente, cuando solo tenemos una declaración para ejecutar, no necesitamos usar llaves {} ni devolver palabras clave. Podemos escribir el código de la siguiente manera:

Javascript

let string1 = (name: string, roll_no: number) =>
  "i am " + name + " and my roll no is " 
  + `${roll_no.toString()}`;
  
console.log(string1("srinivas", 49));

Producción:

i am srinivas and my roll no is 49

Ejemplo 2 (función de flecha sin parámetros): este es un ejemplo en el que la función de flecha no toma parámetros y devuelve una string.

Javascript

let str1 = () => "this is geeksforgeeks";
console.log(str1());

Producción:

this is geeksforgeeks

Ejemplo 3 (Función de flecha en una clase): Se crea una clase que tiene dos propiedades, nombre de tipo string y CGPA de tipo número. También hay un método de clase que devuelve y muestra una string de detalles del estudiante. Este ejemplo muestra que las funciones de flecha también se pueden usar en las clases.

Javascript

class StudentDetail {
  name: string;
  cgpa: number;
  
  constructor(name: string, cgpa: number) {
    this.name = name;
    this.cgpa = cgpa;
  }
  
  displayString = () =>
    console.log("student_name : " + this.name + 
    " student_cgpa : " + this.cgpa);
}
  
let student1 = new StudentDetail("sarah", 9.45);
student1.displayString();

Producción:

student_name : sarah student_cgpa : 9.45

Publicación traducida automáticamente

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