打字稿 - 属性名称中的方括号是什么意思



我在某个地方看到了此打字稿代码。它没有任何问题编译:

const eventName = entityName + commandName;
pubsub.publish(triggerName, { [eventName]: response });

我假设它动态地创建了一个名为EventName的属性名称的对象。这个假设正确吗?该功能在拼印文档中描述了哪里?

不是打字稿功能,而是JavaScript。它称为计算属性。这是它的文档。

此外,它不会使用密钥eventName创建属性,而是用一个键创建一个属性,该属性是变量eventName的值。例如,如果eventName = "foo",则{[eventName]: "bar"}{foo: "bar"}相同。

最新更新