TypeScript 函数

TypeScript 函数

函数是JavaScript应用程序的基本构建块。它使代码可读性、可维护性和可重用性。我们可以使用它来构建抽象层,模拟类、信息隐藏和模块化。然而,在TypeScript中,我们有类、命名空间和模块的概念,但函数仍然是描述如何做事情的一个重要部分。TypeScript还允许向标准JavaScript函数添加新的能力,以使代码更易于处理。

函数的优势

这些是函数的主要优势。

  • 代码重用: 我们可以多次调用函数,而不必重复编写相同的代码块。代码的可重用性节省时间并减小程序大小。
  • 编码量减少: 函数使我们的程序更加简洁。因此,我们不需要每次执行常见任务时编写很多行代码。
  • 易于调试: 它使程序员能够轻松定位和隔离有问题的信息。

函数的方面

函数有三个方面。

  • 函数声明: 函数声明告诉编译器函数名称、函数参数和返回类型。函数声明的语法如下:
function functionName( [arg1, arg2, ...argN] ); 
  • 函数定义: 它包含要执行的实际语句。它指定了特定任务的执行方式和内容。函数定义的语法如下:
function functionName( [arg1, arg2, ...argN] ){  
         //code to be executed  
}  
  • 功能调用: 我们可以在程序的任何地方调用函数。参数在函数调用和函数声明中不能有差异。我们必须传递与函数声明中声明的函数数量相同的函数。函数调用的语法是:
FunctionName();

函数创建

我们可以通过两种方式创建函数。它们是:

  • 命名函数
  • 匿名函数

命名函数

当我们通过给定的名称声明和调用函数时,这种类型的函数被称为 命名 函数。

语法:

functionName( [arguments] ) { }

示例

//Function Definition
function display() {
    console.log("Hello JavaTpoint!");
}
//Function Call
display();

输出:

TypeScript 函数

匿名函数

没有名字的函数被称为匿名函数。这种类型的函数在运行时动态声明。它被定义为一个表达式。我们可以将它存储在一个变量中,因此不需要函数名。和标准函数一样,它也接受输入并返回输出。我们可以通过使用包含函数的变量名来调用它。

语法

let res = function( [arguments] ) { }

示例

// Anonymous function
let myAdd = function (x: number, y: number) : number {
    return x + y;
};
// Anonymous function call
console.log(myAdd(5,3));

输出:

TypeScript 函数

函数参数

参数是传递给函数的值或参数。在TypeScript中,编译器接受与函数签名中定义的相同数量和类型的参数。如果编译器与函数签名中的参数不匹配,则会出现编译错误。

函数参数可分为以下几种类型:

  • 可选参数
  • 默认参数
  • 剩余参数

可选参数

在JavaScript中,我们可以调用没有传递任何参数的函数。因此,在JavaScript函数中,参数是可选的,当我们这样做时,每个参数值都是undefined。

与JavaScript不同,如果我们尝试调用一个函数而没有提供与其函数签名中声明的参数相同的确切数量和类型的参数,TypeScript编译器会抛出一个错误。为了解决这个问题,我们可以使用可选参数,使用问号符号(’?’)来表示可能或可能不接收值的参数可以添加一个”?”符号来标记它们为可选。在下面的示例中, e_mail_id 被标记为可选参数。

语法

function function_name(parameter1[:type], parameter2[:type], parameter3 ? [:type]) { }

示例

function showDetails(id:number,name:string,e_mail_id?:string) { 
   console.log("ID:", id, " Name:",name); 
   if(e_mail_id!=undefined)  
   console.log("Email-Id:",e_mail_id); 
}
showDetails(101,"Virat Kohli");
showDetails(105,"Sachin","sachin@javatpoint.com");

输出:

TypeScript 函数

默认参数

TypeScript提供了一种将默认值设置为函数参数的选项。如果用户未向参数传递值,TypeScript会为参数初始化默认值。默认参数的行为与可选参数相同。对于默认参数,如果在函数调用中没有传递值,则默认参数必须遵循函数签名中的必需参数。但是,如果函数签名中的一个必需参数之前有一个默认参数,我们仍然可以调用将默认参数标记为undefined值的函数。

注意: 我们不能同时将参数设为可选和默认。

语法

function function_name(parameter1[:type], parameter2[:type] = default_value) { }

示例

function displayName(name: string, greeting: string = "Hello") : string {
    return greeting + ' ' + name + '!';
}
console.log(displayName('JavaTpoint'));   //Returns "Hello JavaTpoint!"
console.log(displayName('JavaTpoint', 'Hi'));   //Returns "Hi JavaTpoint!".
console.log(displayName('Sachin'));    //Returns "Hello Sachin!"

输出结果:

TypeScript 函数

Rest 参数

Rest 参数用于把 零个或多个 值传递给一个函数。我们可以在参数前加上 三个点 字符(’…’)来声明 Rest 参数。它允许函数具有不同数量的参数,而不使用 arguments 对象。TypeScript 编译器将使用 Rest 参数创建一个参数数组,以便所有数组方法都可以使用 Rest 参数。当我们有不确定数量的参数时,Rest 参数非常有用。

Rest 参数的规则:

  • 函数只允许使用一个 Rest 参数。
  • Rest 参数必须是数组类型。
  • Rest 参数必须是参数列表的最后一个参数。

语法:

function function_name(parameter1[:type], parameter2[:type], ...parameter[:type]) { }

示例

function sum(a: number, ...b: number[]): number {
  let result = a;
  for (var i = 0; i < b.length; i++) {
  result += b[i];
  }
  return result;
}
let result1 = sum(3, 5);
let result2 = sum(3, 5, 7, 9);
console.log(result1 +"\n" + result2);

输出:

TypeScript 函数

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程