TypeScript 素描 - 函数

Posted liangshiwei

tags:

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

 

/*
函数和javascript并没有太大差别,只是增加了额外的功能,使函数有
更为强大的功能而且更易用使用
*/

//现在支持函数的参数指定类型,在前面的博文中大家应该已经看到
//还可以指定函数的返回值 
function fun7(x: number, y: number): number {
    return x + y;
}

let myadd = function (x: number, y: number): number { return x + y; };

/*可选参数与默认参数*/
function fun8(x?: number, y: number = 8): void { };
//一个可选参数,一个默认参数 都不传也没有关系
fun8();

/*剩余参数,在之前的代码中也有写到
用.,.来表达剩余的参数,但需要是数组类型
*/
function fun9(arg1: string, arg2: string, ...args: string[]) { };
fun9("1", "2", "3", "4", "5");


/*箭头函数/拉姆达表达式
用过的都知道它的酸爽,简单的语法不说.还可以消除JavaScript的this
问题,提起this就是噩梦,到现在也不知道 this到底是谁
*/
let fun10 = (x: number, y: number): number => {
    return x + y;
}


/**
 * 函数的重载也是非常有趣,可以看到和C#中的完全不一样
 * 前两个方法只是定义方法的签名, 最后一个是对前两个的
 * 方法的处理,最后一个不算是方法 只是实现
 */

function pickCard(x: string): string
function pickCard(x: number): number
function pickCard(x): any {
    if (typeof x == "string") {
        return "string result";
    }
    if (typeof x == "number") {
        return 1;
    }
}
pickCard(1);
pickCard("1");

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

TypeScript 素描 - 装饰器

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

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

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

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

基于 Serverless+OSS 分分钟实现图片秒变素描