美文网首页
typescript---函数

typescript---函数

作者: 成熟稳重的李先生 | 来源:发表于2020-02-05 21:28 被阅读0次
  1. 函数的定义
  • 可以指定参数的类型和返回值的类型
function hello(name:string):void {  //接收参数为string类型,返回值为空
    console.log('hello',name);
}
hello('lccc');

2.函数表达式

  • 定义函数类型
    通过关键字type来定义函数类型
//定义一个GetUsernameFunction类型,它是一个函数,接收两个参数(类型均为字符串),返回一个字符串
type GetUsernameFunction = (x:string,y:string)=>string; 
// 定义一个变量getUsername,他的类型是GetUsernameFunction
let getUsername:GetUsernameFunction = function(firstName,lastName){
  return firstName + lastName;
}
// 如果getUsername的入参或者返回不满足GetUsernameFunction的定义的话,报错
  1. 可选参数
  • 在TS中函数的形参和实参必须一样,不一样就要配置可选参数,而且必须是最后一个参数
function print(name:string,age?:number):void { //接收一个(age可不传)或两个参数,返回空。
    console.log(name,age);
}
print('lccc');
  1. 默认参数
function ajax(url:string,method:string='GET') {  //method默认为GET
    console.log(url,method);
}
ajax('/users');  // /users GET
ajax('/users',"post");  //  /users post
  1. 剩余参数
function sum(...numbers:number[]) { // 或者写成  ...numbers:Array<number>
    return numbers.reduce((val,item)=>val+=item,0);
}
console.log(sum(1,2,3));
  1. 函数重载
  • 在Java中的重载,指的是两个或者两个以上的同名函数,参数不一样
  • 在TypeScript中,表现为给同一个函数提供多个函数类型定义
/*
* @params 参数同时为number
* @params 参数同时为string
*/
function abc(x:string, y:string):void;  //以下两行都叫做函数签名
function abc(x:number, y:number):void;
// 签名后必须紧跟函数,之间除了注释,什么都不能有
function abc(a:any, b:any){
}
abc(1,2); //正确
abc("1","2");  //正确
abc(1,"2");  //报错, x,y只能同时为string或者number

相关文章

  • typescript---函数

    函数的定义 可以指定参数的类型和返回值的类型 2.函数表达式 定义函数类型通过关键字type来定义函数类型 可选参...

  • typescript---类

    如何定义类"strictPropertyInitialization": true / 启用类属性初始化的严格检查...

  • typescript---接口

    1.接口一方面可以在面向对象编程中表示为行为的抽象,另外可以用来描述对象的形状;2.接口就是把一些类中共有的属性和...

  • TypeScript---类

    TS(集成可选类型批注)支持ES6。 接下来我们创建一个类文件class.ts。 Shape 类中有两个属性 ar...

  • TypeScript---继承

    继承一个已存在的类并创建一个派生类。继承使用关键字extends。 派生类Shape3D: 1,派生类Shape3...

  • TypeScript---类型批注

    TS通过类型批注提供静态类型,方便在编译时启动类型检查,这不是必须的,甚至可以被忽略,去使用js常规的动态类型。...

  • typescript---泛型

    泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性泛...

  • typescript---结构类型系统

    接口的兼容性 如果传入的变量和声明的类型不匹配,TS就会进行兼容性检查 原理是Duck-Check(一个对象,只要...

  • TypeScript---箭头函数表达式(lambda表达式)

    lambda表达式()=>{something}或()=>something相当于js中的函数,它的好处是可以自动...

  • Excel(三)

    AND函数 OR函数 NOT函数 IF函数 频率分析函数FREQUENCY

网友评论

      本文标题:typescript---函数

      本文链接:https://www.haomeiwen.com/subject/vijexhtx.html