首页 > 解决方案 > 打字稿功能:参数后的“:”类型是什么意思以及为什么有些功能没有?

问题描述

问题

简而言之 :

(它在问题的标题中)

举个例子:

我可以看到很多在 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++ 中,函数总是告诉它返回什么类型的东西。当函数什么都不返回时,这在这些语言中仍然表示为void.

标签: typescriptfunctionreturn-typetypecheckinginferred-type

解决方案


答案

简而言之 :

  • ":" - 在函数参数之后,介绍函数返回的类型。
  • 不是一直都在吗?- Typescrict 可以推断函数返回的类型。

与前面的例子:

Typescript 在函数参数之后的“:type”用于告诉函数返回的东西是什么类型,就像在 Java 或 C++ 中一样。但是,Typescript 默认情况下会推断函数的返回类型,因此并不总是需要在代码中显式编写它。

Ex1中,函数buildName返回firstName + " " + lastName由 组成strings。因此编译器知道该函数返回一个string.

Ex2中,该函数buildName具有: string其参数。这意味着程序员明确地告诉函数返回一个string. 这会很有帮助,因为编译器会检查函数返回的内容是否真的是 a string。如果不是,它会抛出一个错误,告诉程序员他犯了一个错误,因为函数没有按预期运行。

以下是我用来学习 Typescript 函数的一些很好的资源:

Typescript Handbook: functions - typescript 的官方手册。

TypeScript 中的键入函数 | 2ality - 一个长而完整的关于 typescript 功能的指南。

注意:StackOverflow 上有类似的问题,但与我搜索的内容不匹配。我决定自己做。


推荐阅读