程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

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

发布于2021-05-29 19:26     阅读(473)     评论(0)     点赞(24)     收藏(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



所属网站分类: 技术文章 > 博客

作者:我长得真不赖

链接:http://www.javaheidong.com/blog/article/207172/ff62f069305585832952/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

24 0
收藏该文
已收藏

评论内容:(最多支持255个字符)