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;
  	else
   	  	return 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 是一个字符串

你可能感兴趣的:(TypeScript,typescript,javascript,前端)