小言_互联网的博客

这篇“TypeScript函数”助力你突破月薪1.5w+了,赶快收藏吧

285人阅读  评论(0)

前言

目录

目录

前言

目录

进阶TS 函数

1 函数的定义

2 函数表达式

3 没有返回值

4 可选参数

5 默认参数

6 剩余参数

7 函数重载

结语


进阶TS 函数

1 函数的定义

  • 可以指定参数的类型和返回值的类型

  
  1. function hello(name:string):void {
  2. console.log( 'hello',name);
  3. }
  4. hello( 'zfpx');

2 函数表达式

  • 定义函数类型

  
  1. type GetUsernameFunction = (x:string,y:string)=> string;
  2. let getUsername:GetUsernameFunction = function(firstName,lastName){
  3. return firstName + lastName;
  4. }

3 没有返回值

:void就是函数没有返回值,如果函数后面跟的是:string 就是函数返回值必须是string


  
  1. let hello2 = function (name:string):void {
  2. console.log( 'hello2',name);
  3. return undefined;
  4. }
  5. hello2( 'zhufeng');

4 可选参数

在TS中函数的形参和实参必须一样,不一样就要配置可选参数,而且必须是最后一个参数,类似于和变量设置类型一样。


  
  1. function print(name:string,age?:number):void {
  2. console.log(name,age);
  3. }
  4. print( 'zfpx');

5 默认参数


  
  1. function ajax(url:string,method:string='GET') {
  2. console.log(url,method);
  3. }
  4. ajax( '/users');

6 剩余参数


  
  1. function sum(...numbers:number[]) {
  2. return numbers.reduce( (val,item)=>val+=item, 0);
  3. }
  4. console.log(sum( 1, 2, 3));

7 函数重载

  • 在Java中的重载,指的是两个或者两个以上的同名函数,参数不一样
  • 在TypeScript中,表现为给同一个函数提供多个函数类型定义

  
  1. let obj: any={};
  2. function attr(val: string): void;
  3. function attr(val: number): void;
  4. function attr(val:any):void {
  5. if ( typeof val === 'string') {
  6. obj.name=val;
  7. } else {
  8. obj.age=val;
  9. }
  10. }
  11. attr( 'zfpx');
  12. attr( 9);
  13. attr( true);
  14. console.log(obj);

结语

1.ts就是把js弱类型变成类似强类型。

2.命名一个变量let aa,你可以给aa赋值任何类型,boolen string array function。

3.ts会让代码更规范

更多文章

TypeScripts前端基础篇(1)---ts基本数据类型

2021直击大厂前端开发岗位面试题


转载:https://blog.csdn.net/XU441520/article/details/117323214
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场