> 文章列表 > TypeScript 函数

TypeScript 函数

TypeScript 函数

文章目录

  • 1. 基础格式
  • 2. 可选参数(参数名后加 ==?==)
  • 3.默认参数(param[:type] = default_value)
  • 4.可变参数(...param[:type])
  • 5.匿名函数
  • 6.Lambda 函数

1. 基础格式

function add(num1: number, num2: number){return num1 + num2;
}let sum = add(1, 2);	// sum = 3 

2. 可选参数(参数名后加 ?)

function add(num1: number, num2: number, num3?: number){if(num3)return num1 + num2 + num3;elsereturn num1 + num2;
}let sum1 = add(1, 2);    // sum = 3
let sum2 = add(1, 2, 3);    // sum = 6

3.默认参数(param[:type] = default_value)

参数不能同时设置为可选和默认

function multi(num1: number, num2: number = 1){return num1 * num2;
}
let result1 = multi(10);        // result1 = 10
let result2 = multi(10, 10);    // result2 = 100

4.可变参数(…param[:type])

//  可变参数函数
function func01(...nums: number[]){let sum: number = 0;for(let i = 0; i < nums.length; i++){sum += nums[i];}return sum;
}let sum1 = func01(1, 2, 3);				// sum1 = 6
let sum2 = func01(1, 2, 3, 4, 5);		// sum2 = 15

5.匿名函数

// 不带参数
var msg = function() { return "hello world";  
} 
console.log(msg())// 带参数
var res = function(a:number,b:number) { return a*b;  
}; 
console.log(res(12,2))		// 24// 匿名函数自调用
(function () { var x = "Hello!!";   console.log(x)     })()

6.Lambda 函数

  • ( [param1, param2,…param n] )=>statement;
  • 我们可以不指定函数的参数类型,通过函数内来推断参数类型
  • 单个参数 () 是可选的
// Lambda
let func = x => {if(typeof x == "number") console.log(x + " 是一个数字") else if(typeof x == "string")console.log(x + " 是一个字符串") 
}func(12)        // 12 是一个数字
func("Tom")     // Tom 是一个字符串