官术网_书友最值得收藏!

  • Expert Angular
  • Mathieu Nayrolles Rajesh Gunasundaram Sridhar Rao
  • 203字
  • 2021-07-15 17:05:31

Function type interfaces

We just saw how to define properties in interfaces. Similarly, we can also define function types in interfaces. We can define function types in interfaces by just giving the signature of the function with the return type. Note that, in the following code snippet, we have not added the function name:

interface AddCustomerFunc { 
  (firstName: string, lastName: string): string; 
} 

Now, we have AddCustomerFunc ready. Let's define an interface variable called AddCustomerFunc and assign a function of the same signature to it as follows:

var addCustomer: AddCustomerFunc; 
addCustomer = function(firstName: string, lastName: string) { 
  console.log('Full Name: ' + firstName + ' ' + lastName); 
  return firstName + ' ' + lastName; 
} 

The parameter name in the function signature can vary, but not the data type. For example, we can alter the fn and ln function parameters of the string type as follows:

addCustomer = function(fn: string, ln: string) { 
  console.log('Full Name: ' + fn + ' ' + ln); 
} 

So, if we change the data type of the parameter or the return type of the function here, the compiler will throw an error about the parameter not matching or the return type not matching with the AddCustomerFunc interface.

主站蜘蛛池模板: 城固县| 上饶市| 定结县| 三河市| 即墨市| 太谷县| 隆化县| 马尔康县| 天等县| 鹤峰县| 呼和浩特市| 新津县| 无为县| 漾濞| 六盘水市| 田东县| 丽水市| 台南市| 苍溪县| 静安区| 镇巴县| 海林市| 梁河县| 大石桥市| 乌什县| 海伦市| 肃北| 辉南县| 绥江县| 澳门| 玉林市| 东乡县| 顺昌县| 盈江县| 南宫市| 浑源县| 孝义市| 临汾市| 苍梧县| 皋兰县| 区。|