函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。
函数的定义
function run ():string {
return '必须返回string类型';
}
function run ():number{
// 必须返回number类型
return 123;
}
匿名函数
let run = function():string {
return '必须返回string类型';
}
let run = function():number {
// 必须返回number类型
return 123;
}
定义方法传参
function run (str:string,num:number):any{
return `${
str}版本号${
num}`;
}
let run = function (str:string,num:number):any{
return `${
str}版本号${
num}`;
}
run('typescript',3); // typescript版本号3
可选参数
function run(name:string,age:number):void {
console.log(name);
console.log(age);
}
run('小弥'); // 只传一个参数会报错
// 参数后面加 "?" 表示可选参数
function run(name:string,age?:number):string{
return `${
name}的年龄是${
age}`
}
run('小弥'); // 不会报错
默认参数
function run(name:string,age:number=20):string{
return `${
name}的年龄是${
age}`
}
run('小弥'); // 小弥的年龄是20
run('小弥',30); // 小弥的年龄是30
剩余参数
// 三点运算符
function run(start: number, ...num: Array<number>): number {
let n: number = start;
for (let item of num) {
n += item;
}
return n;
}
console.log(run(0, 1, 2, 3, 4, 5)); // 15
箭头函数
let run = (name: string):string=> {
return `我的名字叫${
name}`
}
console.log(run('小弥')); // 我的名字叫小弥
简写
let run = (name: string):string=> `我的名字叫${
name}`
console.log(run('小弥')); // 我的名字叫小弥console.log(run('小弥'))