我在某个地方看到了此TypeScript代码。编译没有任何问题:
const eventName = entityName + commandName;
pubsub.publish(triggerName, { [eventName]: response });
Run Code Online (Sandbox Code Playgroud)
我假设它动态创建一个对象文字,其属性名称称为eventName。这个假设正确吗?此功能在TypeScript文档中的何处描述?
那不是打字稿功能,而是JavaScript。它称为计算属性。这是它的文档:https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names
此外,它不会使用键创建属性eventName,而是使用键(即变量的值)创建属性eventName。例如,如果eventName = "foo",则{[eventName]: "bar"}与相同{foo: "bar"}。
| 归档时间: |
|
| 查看次数: |
1595 次 |
| 最近记录: |