gpt4 book ai didi

types - 空对象类型和Object有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-30 20:38:26 25 4
gpt4 key购买 nike

我注意到 TypeScript 支持使用以下类型:

  • {}(在规范中称为空对象类型)
  • 对象

据我所知,它们似乎是等价的并且可以互换。它们之间有什么区别?

最佳答案

在 TypeScript 的上下文中,没有实际差异,但存在语义差异。 Object 的所有成员都隐含地存在于所有 对象中。

{} 表示没有自己的成员。 {} 仍将具有 Object 的所有成员。所以它们在 TypeScript 中是可以互换的。

// Extend ALL objects
interface Object{
baz:number;
}

var foo:{} = {};
var bar:Object = {};

foo.baz = 123;
bar.baz = 123;

就我个人而言,我从来没有声明一个变量是其中之一。也许您应该使用 any,它与一切 兼容。

关于types - 空对象类型和Object有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21396195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com