官术网_书友最值得收藏!

Functions

Parameters and return values in the function signature can be typed too. Types protects you against JavaScript errors during function execution because the compiler warns you punctually at build time when the wrong types are used:

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

Function type is a way to declare the type of a function. To explicitly declare a function type, you should use the keywords var or let, a variable name, a colon, a parameter list, a fat arrow =>, and the function's return type:

var fetchName: (division: Division, customer: Customer) => string;

Now, you must provide an implementation of this declaration:

fetchName = function (division: Division, customer: Customer): string {
// do something
}

This technique is especially useful for callbacks. Imagine a filter function which filters arrays by some criterion. An exact criterion can be encapsulated in the passed in callback function that acts as predicate:

function filter(arr: number[], callback: (item: number) => boolean): number[] {
let result: number[] = [];
for (let i = 0; i < arr.length; i++) {
if (callback(arr[i])) {
result.push(arr[i]);
}
}
return result;
}

A possible function call with a specific callback could appear as follows:

let result = filter([1, 2, 3, 4], (item: number) => item > 3);

In TypeScript, every function parameter is assumed to be required. There are two ways to mark a parameter as optional (optional parameters can be omitted when calling the function).

  • Use a question mark after the parameter name:
function doSomething(param1: string, param2?: string) {
// ...
}
  • Use the parameter's default value (ECMAScript 2015 feature), which gets applied when no value is provided:
function doSomething(param1: string, param2 = "some value") {
// ...
}

Now, you are able to call this function with just one value.

doSomething("just one value");
主站蜘蛛池模板: 德化县| 炉霍县| 会理县| 天镇县| 忻州市| 任丘市| 深泽县| 古蔺县| 云阳县| 滁州市| 宕昌县| 绥宁县| 贵港市| 龙海市| 宣化县| 大冶市| 壶关县| 灵山县| 庆城县| 河东区| 上杭县| 四会市| 永德县| 阳曲县| 舒兰市| 潜江市| 屯昌县| 浦城县| 张家口市| 胶州市| 宁乡县| 睢宁县| 微山县| 平果县| 德昌县| 澄江县| 孟连| 海门市| 新巴尔虎左旗| 海丰县| 宣城市|