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