TypeScript 函数
文章目录
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 是一个字符串