gpt4 book ai didi

typescript - "{}"作为 Typescript 中的类型

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

下面声明的变量是什么类型。什么情况下有用?

let x: {}

在下面的类型别名中,{} 是什么意思。它是否等同于 objectany?为什么要使用 {} 作为类型而不是 any{} 在这种情况下是指空对象的“实例”吗? (对我来说确实有意义)

type MessageHandler<D, P> = (data: D, payload: P) => void
type MessageHandlerGeneric = MessageHandler<{}, any}

interface MessageHandlers {
[index: string]: MessageHandlerGeneric
}

let handlers = MessageHandlers = {
handler1: (data: string, payload: Pyaload),
handler2: (data: Array<string>, payload: Payload)
}

最佳答案

Objectany 更具限制性。

const b: Object = {};
b.myMethod();

不会编译(其中 myMethod() 未声明且已知方法)。另一方面,下面的方法编译。

const c: any = {};
c.myMethod();

因此,另一方面,any 可以是任何内容(包括null/undefined),如果您显式使用 Object 您将只能使用在 Object 类上定义的属性。

关于typescript - "{}"作为 Typescript 中的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54323516/

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