如何在 Typescript 中编写函数?
用 TypeScript 编写函数类似于用 JavaScript 编写函数,但增加了参数和返回类型。请注意,任何 JavaScript函数都是完全有效的 TypeScript函数。但是,我们可以通过添加类型做得更好。
语法:让我们看一个基本的 TypeScript函数语法(有两个参数)
function functionName(arg1: ,
arg2: ): {
// Function body...
}
以下是一些有助于更好理解的功能。
示例 1:在此示例中,我们正在编写一个函数来将两个数字相加
Javascript
// TypeScript Code
// Following function returns the addition
// of it's two parameters
function addTwo(a: number, b: number): number {
return a + b;
}
console.log(addTwo(7, 8)); // logs 15
Javascript
// Following function adds it's two parameters then
// returns it as string form in base 16
function getHexAddition(a: number, b: number): string {
return (a + b).toString(16);
}
console.log(getHexAddition(10, 16)); // logs '1a'
Javascript
// Following function returns good morning
// message based on value of name passed
function goodMorning(name?: string): string {
// if name exits use it as suffix else ignore name
const suffix = (name ? `, ${name}.` : '.');
return 'Good Morning' + suffix;
}
// logs 'Good Morning.'
console.log(goodMorning());
// logs 'Good Morning, Sam.'
console.log(goodMorning('Sam'));
Javascript
function pow(base: number, power = 1): number {
return Math.pow(base, power);
}
console.log(pow(7)); // logs 7
console.log(pow(7, 2)); // logs 49
输出:
15
示例 2:将两个数字相加并返回等效的十六进制字符串。
Javascript
// Following function adds it's two parameters then
// returns it as string form in base 16
function getHexAddition(a: number, b: number): string {
return (a + b).toString(16);
}
console.log(getHexAddition(10, 16)); // logs '1a'
输出:
1a
添加可选参数和默认参数:添加可选参数非常简单,只需添加 ?到参数名称的末尾。
示例 3:编写一个函数来记录带有名称的早安消息,如果未传递名称,则仅记录早安。
Javascript
// Following function returns good morning
// message based on value of name passed
function goodMorning(name?: string): string {
// if name exits use it as suffix else ignore name
const suffix = (name ? `, ${name}.` : '.');
return 'Good Morning' + suffix;
}
// logs 'Good Morning.'
console.log(goodMorning());
// logs 'Good Morning, Sam.'
console.log(goodMorning('Sam'));
输出:对于默认参数,后缀为等号和默认值(TS 编译器将根据提供的值自动推断默认参数的类型)。
Good Morning.
Good Morning, Sam.
示例 4:编写一个返回 base^{power} 的函数,如果未提供 power,则假定为 1。
Javascript
function pow(base: number, power = 1): number {
return Math.pow(base, power);
}
console.log(pow(7)); // logs 7
console.log(pow(7, 2)); // logs 49
输出:
7
49