- => ts中声明函数返回值的方法,不是 es6中的箭头函数
- 可选参数后面,不能添加其他参数
- 函数的输入,输出要确定类型
- :冒号后面都是在声明类型,和代码逻辑没有关系
- 函数类型推断
- ?可选参数,一定要放在最后面,=默认值 ```typescript // 为函数定义类型 function sum(x:number,y:number):number{ return x+y; }
const getSum:(x:number,y:number) => number = function(x:number,y:number):number { return x+y; }
函数的类型有两部分组成:- 参数类型- 函数返回值的类型<a name="FBhBT"></a>## 函数声明1. : void没有返回值1. : never 永远没有返回值```typescript// 函数声明,返回值也是一个 numberfunction add (x: number, y: number, z?: number=20): number {if (typeof z === 'number') {return (x + y) * z}return x + y}// 函数没有返回值function add (x: number): void {console.log(x)}// 类型永远没返回function error(message: string): never {throw new Error(message)}
void空值
function test():void {
console.log("test");
}
// 可以把 null和 undefined赋值给其他的数据类型
let und:undefined = undefined
函数表达式
// 函数表达式 => 箭头是函数的返回值
const add2: (x: number, y: number, z?: number) => number = add
// interface
interface SumProps {
(x: number, y: number, z?: number): number
}
const add2: SumProps = add
// 函数表达式
const add = function add(x: number, y: number, z:number=30): number {
if (typeof z === 'number') return x + y + z
return x + y
}
const add2: (x: number, y: number, z?:number=30) => number = add
