【问题标题】:TS Syntax for Destructured Function Params [duplicate]解构函数参数的 TS 语法
【发布时间】:2020-10-10 08:13:41
【问题描述】:

为什么我必须指定两个不同的文字,基本上只是为了在处理 TS 时为 JS 函数的传入参数指定类型?

例子:

export default function createGravatarImageUrl({ email }: { email: string }) {
  ...
}

【问题讨论】:

  • 那么编译器知道类型吗?我不明白这个问题。
  • 您的问题到底是什么? “Why?”似乎基于意见或需要语言设计者作为权威来源。而且您似乎已经知道“How?”。

标签: javascript typescript


【解决方案1】:

这里的参数绑定和类型做了两个完全不同的事情:

  1. 参数绑定{ email } 解构对象以将email var 绑定到该参数中的相应属性。
  2. 类型可以是{ email: string } 的任何子类型,并将整个参数的类型限制为可能更具体的内容。

您没有指定参数两次,而是分别指定了解构操作和整个参数的类型。不幸的是,如果您想同时执行这两种操作并将类型指定为您已解构的确切类型,则没有捷径可走,但这是一个非常狭窄的案例。

【讨论】:

  • 我认为 op 已经明白了?不过不确定。
猜你喜欢
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
  • 2020-11-14
  • 1970-01-01
  • 1970-01-01
  • 2021-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多