打字稿函数:参数后的“:”类型是什么意思以及为什么有些函数没有它?
Typescript functions : What does the ":" type" after parameters mean & why some functions don't have it?
问题
简而言之:
(在题目中)
- 函数参数后的":"是什么意思?
- 为什么它不总是存在?
附实例:
我可以看到很多用 Typescript 编写函数的不同方法,例如:
例 1
function buildName(firstName: string, lastName: string) {
return firstName + " " + lastName;
}
还有,
Ex2
function buildName(firstName: string, lastName: string): string {
return firstName + " " + lastName;
}
我真的不明白为什么如果“function(params):”后面的是一个类型,为什么它不总是存在。例如,在 Java 或 C++ 中,一个函数总是告诉它 returns 是什么类型的东西。当函数 returns 什么都没有时,这在这些语言中仍然表示为 void
.
答案
简而言之:
- ":" - 在函数参数之后,引入函数 returned 的类型。
- 不是一直都在吗? - Typescrict 可以推断函数 return 编辑的内容的类型。
同前面的例子:
Typescript 的“:type”在函数参数之后通过函数 告诉 return 是什么类型,就像在 Java 或 C++ 中一样.但是,默认情况下使用 Typescript infers the return type of the function,因此并不总是需要在代码中显式编写它。
在Ex1中由strings
组成的函数buildName
returnsfirstName + " " + lastName
。因此编译器知道函数 return 是一个 string
.
在 Ex2 中,函数 buildName
在它的参数后有 : string
。这意味着程序员明确地告诉函数 return 是一个 string
。这可能很有帮助,因为编译器将检查函数编辑的 return 是否真的是 string
。如果不是,它会抛出一个错误,告诉程序员他犯了一个错误,因为函数没有按预期运行。
这里有一些我用来学习 Typescript 函数的好资源:
Typescript Handbook: functions - typescript 的官方手册。
Typing functions in TypeScript | 2ality - 关于打字稿功能的详尽指南,篇幅较长但相当完整。
注意:Whosebug 上也有类似的问题,但与我搜索的内容不符。我决定自己做。
问题
简而言之:
(在题目中)
- 函数参数后的":"是什么意思?
- 为什么它不总是存在?
附实例:
我可以看到很多用 Typescript 编写函数的不同方法,例如:
例 1
function buildName(firstName: string, lastName: string) {
return firstName + " " + lastName;
}
还有,
Ex2
function buildName(firstName: string, lastName: string): string {
return firstName + " " + lastName;
}
我真的不明白为什么如果“function(params):”后面的是一个类型,为什么它不总是存在。例如,在 Java 或 C++ 中,一个函数总是告诉它 returns 是什么类型的东西。当函数 returns 什么都没有时,这在这些语言中仍然表示为 void
.
答案
简而言之:
- ":" - 在函数参数之后,引入函数 returned 的类型。
- 不是一直都在吗? - Typescrict 可以推断函数 return 编辑的内容的类型。
同前面的例子:
Typescript 的“:type”在函数参数之后通过函数 告诉 return 是什么类型,就像在 Java 或 C++ 中一样.但是,默认情况下使用 Typescript infers the return type of the function,因此并不总是需要在代码中显式编写它。
在Ex1中由strings
组成的函数buildName
returnsfirstName + " " + lastName
。因此编译器知道函数 return 是一个 string
.
在 Ex2 中,函数 buildName
在它的参数后有 : string
。这意味着程序员明确地告诉函数 return 是一个 string
。这可能很有帮助,因为编译器将检查函数编辑的 return 是否真的是 string
。如果不是,它会抛出一个错误,告诉程序员他犯了一个错误,因为函数没有按预期运行。
这里有一些我用来学习 Typescript 函数的好资源:
Typescript Handbook: functions - typescript 的官方手册。
Typing functions in TypeScript | 2ality - 关于打字稿功能的详尽指南,篇幅较长但相当完整。
注意:Whosebug 上也有类似的问题,但与我搜索的内容不符。我决定自己做。