1 函数
- 函数声明
function add(x: number, y: number, z: number = 10): number {
if (typeof z === 'number') {
return x + y + z
} else {
return x + y
}
}
let result = add(2, 3, 5)
可选参数,可选参数只能放在参数的最后面
function add(x: number, y: number, z?: number = 10): number {
if (typeof z === 'number') {
return x + y + z
} else {
return x + y
}
}
let result = add(2, 3, 5)
- 函数表达式
函数表达式可以赋值给完全一样类型的变量
const add = function(x: number, y: number, z: number = 10): number {
if (typeof z === 'number') {
return x + y + z
} else {
return x + y
}
}
const add2: (x: number, y: number, z?: number) => number = add
函数参数和返回值两种不同写法注解,如下:
// 函数注解两种不同写法
const fun1 = (str: string): number => {
return parseInt(str, 10);
};
const fun2: (str: string) => number = (str) => {
return parseInt(str, 10);
};
2 函数参数解构注解
// 参数解构注解
function add({ first, second }: { first: number; second: number }): string {
return first + second + '';
}
// 调用
add({ first: 1, second: 3 });
3 void never
// void 什么都没有返回
function my(): void {
console.log('...');
}
// never 函数永远都不可以执行完,如抛出错误,while死循环后面的代码,永远都不可能执行到
function mine(): never {
throw new Error();
// ...
}
function you(): never {
while (true) {}
// ...
}
网友评论