typescript3-函数

函数

基本介绍

封装了一些代码,需要时调用

function add1(x:string,y:string): string{
    
    
    return x + y
}

console.log(add1("10","100"))
/*
* 函数完整命名
* add2 => 变量名 => 函数add2
* (x:number,y:number) => number 当前这个函数类型
* function (x:number,y):number{ return x + y } 就是函数
* */
const add2:(x:number,y:number) => number = function (x:number,y):number{
    
    
    return x + y
}
console.log(add2(10,100))
/*
* 输出
* 10100
* 110
*/

可选参数与默认参数

  1. 可选参数:在定义函数时,函数参数后面使用 ? 进行修饰,表示这个参数可传可不穿
  2. 默认参数:也就是函数体内部有默认参数,如果没有参数传递进来,就使用默认参数
function fullName(firatName:string="东方", lastName ? : string) {
    
    
    if(lastName){
    
    
        console.log(firatName + '-' + lastName)
    } else {
    
    
        return firatName
    }
}

console.log(fullName())
fullName("东方","不败")
fullName("西门","吹雪")
/*
* 输出
* 东方
* 东方不败
* 西门吹雪
*/

剩余参数

  1. 在 JavaScript 里,你可以使用 arguments 来访问所有传入的参数。
  2. 在 TypeScript 里,你可以把所有参数收集到一个变量里,语法定义形参时末尾…参数名[]
function str(str1:string,...msg:string[]){
    
    
    console.log(str1)
    console.log(msg)
}
str("a","b","c","d")
/*
* 输出
* a
* [ 'b', 'c', 'd' ]
*/

函数重载

function add(str1: string,str2: string): string  //函数重载
function add(str1: number,str2: number): number  //函数重载
function add(str1:string | number,str2:string | number):string | number {
    
    
    if(typeof str1=== "string" && typeof str2 === "string") {
    
    
        return str1 + str2
    }else if(typeof str1 === "number" && typeof str2 === "number") {
    
    
        return str1 + str2
    }
}

console.log(add("10", "100"))
console.log(add(10,100))
// console.log(add("10",10)) //这两个对于函数重载来说没有对应的类型
// console.log(add(10,"100"))

猜你喜欢

转载自blog.csdn.net/weixin_64925940/article/details/124779870