在TypeScript类中,可以为属性声明类型,例如:
class className {
property: string;
};
var obj = {
property: string;
};
您已经非常接近了,只需要将=
替换为:
。您可以使用对象类型文字(参见规范第3.5.3节)或接口。使用对象类型文字与您所拥有的接近:
var obj: { property: string; } = { property: "foo" };
但也可以使用接口
interface MyObjLayout {
property: string;
}
var obj: MyObjLayout = { property: "foo" };
这是一个不同于TypeScript中对象字面量中的类型定义的问题 我有一个接口,接受任何对象作为其属性之一: 虽然属性可以是任何东西,但有时我想指定某些类型。我不想使用'as'关键字,因为我不想强制它(如果我缺少一个属性,我想看到错误)。 我有一种方法可以做到: 但是有没有办法在不使用类型断言的情况下将选项内联在 对象文本中同时做到这一点?换句话说,我想这样做:
我想定义一个带有对象和不同类型的接口,例如 在定义上,没有问题,但在调用like后 这不起作用,并出现以下错误 错误错误:未捕获(promise中):TypeError:无法设置未定义的属性“名称”TypeError:无法设置未定义的属性“名称” 有一些相似的主题,但它们并不完全相关。(如何在类型脚本接口中定义对象或者如何在类型脚本中定义对象变量的类型?) 我很感激你帮助我找到解决办法。
我将使用 python 作为我正在寻找的示例(如果您不了解 Python,您可以将其视为伪代码): 我知道在红宝石中我可以做到: 但这是确定对象类型的正确方法吗?
问题内容: 为什么这是错误的: ? 给定一个类对象,没有办法实例化特定类型的类吗? 显然,我永远不会直接这样做,这只是显示所需内容的一个示例。在实际的代码中,我需要不知道类型的名称。例如 问题答案: