我在某个地方看到了此打字稿代码。它没有任何问题编译:
const eventName = entityName + commandName;
pubsub.publish(triggerName, { [eventName]: response });
我假设它动态地创建了一个名为EventName的属性名称的对象。这个假设正确吗?该功能在拼印文档中描述了哪里?
不是打字稿功能,而是JavaScript。它称为计算属性。这是它的文档。
此外,它不会使用密钥eventName
创建属性,而是用一个键创建一个属性,该属性是变量eventName
的值。例如,如果eventName = "foo"
,则{[eventName]: "bar"}
与{foo: "bar"}
相同。