TypeScript: función parametrizada

Los parámetros son un mecanismo para pasar valores a funciones. Los parámetros forman parte de la firma de la función. Los valores de los parámetros se pasan a la función durante su invocación. A menos que se especifique explícitamente, el número de valores pasados ​​a una función debe coincidir con el número de parámetros definidos.

Al llamar a una función, hay dos formas en que los argumentos se pueden pasar a una función:

S.No. Tipo de llamada y descripción
1.

Call by value

Este método copia el valor real de un argumento en el parámetro formal de la función. En este caso, los cambios realizados en el parámetro dentro de la función no tienen ningún efecto sobre el argumento.

2.

Call by pointer

Este método copia la dirección de un argumento en el parámetro formal. Dentro de la función, la dirección se usa para acceder al argumento real usado en la llamada. Esto significa que los cambios realizados en el parámetro

A continuación se muestran las formas en que las funciones pueden utilizar los parámetros:

Parámetros posicionales

function func_name( param1 [:datatype], ( param2 [:datatype]) {   
}

Ejemplo: parámetros posicionales

function test_param(n1:number,s1:string) { 
   console.log(n1) 
   console.log(s1) 
} 
test_param(123,"this is a string")
  • El fragmento declara una función test_ param con tres parámetros, a saber, n1, s1 y p1.

  • No es obligatorio especificar el tipo de datos del parámetro. En ausencia de un tipo de datos, se considera que el parámetro es del tipo cualquiera . En el ejemplo anterior, el tercer parámetro será del tipo any .

  • El tipo de datos del valor pasado debe coincidir con el tipo del parámetro durante su declaración. En caso de que los tipos de datos no coincidan, el compilador arroja un error.

Al compilar, generará el siguiente código JavaScript.

//Generated by typescript 1.8.10
function test_param(n1, s1) {
   console.log(n1);
   console.log(s1);
}
test_param(123, "this is a string");

La salida del código anterior es la siguiente:

123 
this is a string