【问题标题】:Type as object reference in TypeScript在 TypeScript 中将类型作为对象引用
【发布时间】:2023-03-04 21:23:01
【问题描述】:

打字稿中有没有办法声明一个返回特定对象的函数?

例如,有没有办法声明一个函数,该函数返回的对象与内部传递的对象相同? 不是对象具有相同的结构,而是实际上完全相同的引用:

function f(x : Object) : x {
    return x
}

【问题讨论】:

  • 没有。这不是 TypeScript 可以表达的。你能解释一下你的用例吗?这感觉就像X-Y problem
  • 不是参考,但是可以保证类型like this playground example
  • @AluanHaddad,谢谢。请将其发布为答案,以便我接受。我的用例:我需要一个包含几个特殊值的集合,我想我是否可以为此使用对象。更新:有问题的示例不相关,但说明了我需要什么样的类型检查。
  • @hopeless-programmer,不知道我该如何回答。 “不”真的不值得回答。
  • @AluanHaddad,我不这么认为。我认为了解您可以(以任何方式)做什么和不可以做什么是非常有用的。

标签: typescript types static-analysis


【解决方案1】:
const f = <T>(x: T): T => x;

这将从 x 推断类型 T,并将其用作返回类型。

【讨论】:

  • 还要记住 TypeScript 是 JavaScript 之上的类型层。它不涉及运行时操作(例如访问将成为函数调用一部分的特定对象)。
猜你喜欢
  • 2020-03-25
  • 2023-01-10
  • 2017-06-11
  • 2017-08-04
  • 2012-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-12
相关资源
最近更新 更多