typescript---函数

2020-02-05  本文已影响0人  成熟稳重的李先生
  1. 函数的定义
function hello(name:string):void {  //接收参数为string类型,返回值为空
    console.log('hello',name);
}
hello('lccc');

2.函数表达式

//定义一个GetUsernameFunction类型,它是一个函数,接收两个参数(类型均为字符串),返回一个字符串
type GetUsernameFunction = (x:string,y:string)=>string; 
// 定义一个变量getUsername,他的类型是GetUsernameFunction
let getUsername:GetUsernameFunction = function(firstName,lastName){
  return firstName + lastName;
}
// 如果getUsername的入参或者返回不满足GetUsernameFunction的定义的话,报错
  1. 可选参数
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. 函数重载
/*
* @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
上一篇 下一篇

猜你喜欢

热点阅读