TypeScript 函数

Posted andychen2015

tags:

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

传递给一个函数的参数个数必须与函数期望的参数个数一致。

参数类别:

  • 必须参数
  • 可选参数 :可选参数必须在参数后面。
  • 默认参数 :当用户没有传递这个参数或传递的值是undefined时。 它们叫做有默认初始化值的参数

与普通可选参数不同的是,带默认值的参数不需要放在必须参数的后面。 如果带默认值的参数出现在必须参数前面,用户必须明确的传入 undefined值来获得默认值。

 

function buildName(firstName = "Will", lastName: string) {
    return firstName + " " + lastName;
}

let result1 = buildName("Bob");                  // error, too few parameters
let result2 = buildName("Bob", "Adams", "Sr.");  // error, too many parameters
let result3 = buildName("Bob", "Adams");         // okay and returns "Bob Adams"
let result4 = buildName(undefined, "Adams");     // okay and returns "Will Adams"

 

 

 

1、TypeScript函数可以创建有名字的函数和匿名函数。

// Named function
function add(x, y) {
    return x + y;
}

// Anonymous function
let myAdd = function(x, y) { return x + y; };

函数类型:为函数定义类型

 

function add(x: number, y: number): number {
    return x + y;
}

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

 

书写完整函数类型

let myAdd: (baseValue: number, increment: number) => number =
    function(x: number, y: number): number { return x + y; };

函数类型包含两部分:参数类型和返回值类型。

只要参数类型是匹配的,那么就认为是有效的函数类型,而不在乎参数名是否正确。

如果函数没有返回任何值,你也必须指定返回值类型为 void不能留空

推断类型

尝试这个例子的时候,你会发现如果你在赋值语句的一边指定了类型但是另一边没有类型的话,TypeScript编译器会自动识别出类型:

/ myAdd has the full function type
let myAdd = function(x: number, y: number): number { return x + y; };

// The parameters `x` and `y` have the type number
let myAdd: (baseValue: number, increment: number) => number =
    function(x, y) { return x + y; };

这叫做“按上下文归类”,是类型推论的一种。 它帮助我们更好地为程序指定类型。

 

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

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

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

传播参数不一致的 TypeScript 错误

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

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

VSCode自定义代码片段——声明函数