typescript的函数

Posted longailong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript的函数相关的知识,希望对你有一定的参考价值。

1:默认参数(传入值会覆盖默认参数,不传值也行)

function getinfo(name:string,age:number=20):string{
    return `${name}---${age}`
}
console.log(getinfo("张三"));//打印出:张三 20
console.log(getinfo("张三",30));//打印出:张三 30

2:可选参数(可以传可选的值也可以不用传,但是可选的参数必须放在参数列表的最后

function getinfo1(name:string,age?:number):string{
    if(age){
        return `${name}---${age}`  
    }else{
        return `${name}---年龄保密`
    }
    
}
console.log(getinfo1("张三"));//打印出:张三 年龄保密
console.log(getinfo1("张三",30));//打印出:张三 30

3:剩余参数

先看一个基本的应用

function sum(a:number,b:number,c:number,d:number):number{
    return  a+b+c+d;
}
console.log(sum(1,2,3,4));//10

上面的代码就可以改写成剩余参数的形式,利用es6的三点运算符(相当于把参数赋值给一个数组,然后用循环遍历这个数组

function sum1(...result:number[]):number{
    var sum=0;
    for(let i=0;i<result.length;i++){
        sum+=result[i];
    }
    return sum;
}
console.log(sum1(1,2,3,4,5));//15
console.log(sum1(1,2,3,4,5,6));//21

或者(这样的话就是把你传进来的第一个参数赋值给a,后面的放进数组

function sum1(a:number,...result:number[]):number{
    var sum=a;
    for(let i=0;i<result.length;i++){
        sum+=result[i];
    }
    return sum;
}
console.log(sum1(1,2,3,4,5));//15
console.log(sum1(1,2,3,4,5,6));//21

4.箭头函数

//es5正常写法
setTimeout(function(){
    alert("run");
},3000)
//es6箭头函数的写法
setTimeout(()=>{
    alert("run");
},3000)

 

以上是关于typescript的函数的主要内容,如果未能解决你的问题,请参考以下文章

typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming

typescript Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming/angular-2/

传播参数不一致的 TypeScript 错误

typescript 打字稿+角度1的启动片段

从 TypeScript 类型定义或 GraphQL 片段定义生成 JavaScript 空对象

TypeScript: switch enum