在 TypeScript 中键入匿名对象的属性

Posted

技术标签:

【中文标题】在 TypeScript 中键入匿名对象的属性【英文标题】:Typing the properties of an anonymous object in TypeScript 【发布时间】:2021-02-28 13:16:17 【问题描述】:

我有一个函数:

function someFunction( propertyA, propertyB )

  return 1;

我想为函数参数中的匿名对象中的属性赋予显式类型,但使用典型的 TypeScript 语法 (propertyA: boolean) 会导致类型被放置在自 @ 以来通常值所在的位置对象字面量中的 987654323@ 表示“左侧的属性具有右侧的值”。

我想知道我该怎么做?编译器警告我隐含具有any 类型的属性。抱歉,这可能是非常基本的,但我在谷歌上搜索并查看了这个网站,找不到任何解决这个特定问题的东西。

【问题讨论】:

【参考方案1】:
function someFunction( propertyA, propertyB : propertyA: boolean; propertyB: number )
    //...

或者,更好的是:明确类型:

interface SomeFunctionOpts
    propertyA: boolean; 
    propertyB: number;


function someFunction( propertyA, propertyB : SomeFunctionOpts) 
    //...

【讨论】:

以上是关于在 TypeScript 中键入匿名对象的属性的主要内容,如果未能解决你的问题,请参考以下文章

TypeScript 中的匿名/内联接口实现

Typescript - 从接口实现匿名对象[重复]

如何在 C# 中迭代​​匿名对象的属性?

在linq查询中以匿名类型设置动态对象的所有属性

Java中什么是匿名对象,空参构造方法输出创建了几个匿名对象,属性声明成static

在 C# 中向 JObject 添加匿名或对象属性