6、TypeScript 函数
2022-03-31 13:10:15 0 举报
AI智能生成
前端开发,TS,TS函数,TS学习
作者其他创作
大纲/内容
函数的类型
函数类型包含两部分: 参数类型 和 返回值类型
function 关键字声明
表达式方式声明
在函数和返回值类型之前使用( =>)符号,使之清晰明了。
只要参数类型匹配即可,不在乎形参是否一样。
只要参数类型匹配即可,不在乎形参是否一样。
如果函数没有返回任何值,也必须指定返回值类型为 void而不能留空。
函数的参数
可选参数
JavaScript里,每个参数都是可选的,可传可不传。 没传参的时候,它的值就是undefined。
在TypeScript 里需要在参数名旁使用 ? 实现可选参数的功能
在TypeScript 里需要在参数名旁使用 ? 实现可选参数的功能
举个🌰
第一次执行,和第三次执行均抛错
解决办法
参数 age 有 number 与 undefined 两种可能
可选参数必须跟在必须参数后面, 如果想让 name 参数可选,age 参数必选,就需要调整参数位置
在 TS 中函数的形参和实参个数必须一样,不一样就要配置可选参数,而且可选参数必须是最后一个参数
默认参数
为参数提供一个默认值当用户没有传递这个参数或传递的值是undefined时使用。
举个🌰
在所有必须参数后面的带默认初始化的参数都是可选的,
与可选参数一样,在调用函数的时候可以省略。
与可选参数一样,在调用函数的时候可以省略。
与可选参数的异同点
相同点
可选参数与末尾的默认参数的参数类型表示是一样的,都是如上表达
不同点
与普通可选参数不同的是,带默认值的参数不需要放在必须参数的后面。
注意
如果带默认值的参数出现在必须参数前面,必须明确的传入 undefined 值来获得默认值。
剩余参数
同时操作多个参数,或者我们并不知道会有多少参数传递进来时。
在JavaScript里,可以使用 arguments 来访问所有传入的参数。
在TypeScript里,我们可以把所有参数收集到一个变量里
举个🌰
剩余参数会被当做 个数不限的可选参数。 可以一个都没有,同样也可以有任意个。
编译器创建参数数组,名字是我们在省略号( ...)后面给定的名字,我们可以在函数体内使用这个数组。
函数的重载
定义
函数重载或方法重载是使用相同名称和不同参数数量或类型创建多个方法的一种能力。
举个🌰
它查找重载列表,尝试使用第一个重载定义。 如果匹配的话就使用这个。
因此,在定义重载的时候,一定要把最精确的定义放在最前面。
因此,在定义重载的时候,一定要把最精确的定义放在最前面。
function attr(val: any): void并不是重载列表的一部分;
因此这里只有两个重载:一个是接收数字另一个接收字符串。
以其它参数调用 attr会产生错误。
因此这里只有两个重载:一个是接收数字另一个接收字符串。
以其它参数调用 attr会产生错误。
0 条评论
下一页