媒介:
TS中函数定义和JS是千篇一律的,可以是普通函数说明,也可以函数表达式
但是在TS中针对函数做了许多的约束、函数的参数举行约束、函数的返回值举行了约束
一、函数的参数
在函数形参举行了约束,在传递值的时候,就必须按照指定的参数范例传递
- 参数个数必须满意要求
- 每个位置参数,数据范例肯定要匹配
1、参数是数字和字符串时:
- // 普通函数定义
- function show(params:number,params2:string){
- console.log(params);
- console.log(params2);
- }
- show(1,"xiaowang")
复制代码 2、参数是对象/数组时:
- const play = (user: { id: number }) => {
- console.log(user.id);
- }
- play({ id: 1 })
- const play2 = (stus:string[]) => {
- console.log(stus);
- }
- play2(["1","2"])
复制代码 3、参数是可变参数时:
- const play3 = (params:number,...params2:number[]) => {
- console.log(params); // 1
- console.log(params2); // [2,3,4,5,6,7,8]
- }
- // 表示可变参数:参数的个数可以动态变化
- play3(1,2,3,4,5,6,7,8)
复制代码 二、函数的返回值
- 你在TS中定义每个函数都应该有返回结果。
- 就算函数不必要返回,我们也应该告诉调用者,当前函数没有返回结果
- // void代表当前函数没有返回结果,不写默认编辑器添加
- function eat(num1:number):void{
- console.log(num1);
- return;
- }
- eat(10)
- function eat2(num1:number,num2:number):string{
- const result:string = num1 + num2 + "";
- return result
- }
- const total2:string = eat2(20,30)
复制代码 ps:写到这里可能用风俗了js的人会觉得很繁琐 ,俺第一次用的时候也很痛苦。
代码量看起来多了,写的时候也变慢了。。。但是其实是因为我们把思考的过程从报错的时候转移到了写代码的时候,用了ts之后,我们在浏览器f12控制台排bug的时间就减少了!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |