以下语法的含义是什么:[increment]: () => {}?

What is the meaning of the following syntax: [increment]: () => {}?

这是我试图理解的代码片段。

import { increment } from '../features/counter/counterSlice'
const object = {
  [increment]: () => {}
}
console.log(object)
// logs { "counter/increment": Function}

下面的语法具体是做什么的?

[increment]: () => {}

Increment 是由 createSlice() 创建的 reducer 函数。

这个

const object = {
  [increment]: () => {}
}

结果与

相同
const object = {};
object[increment] = () => {};

换句话说,在 object

上创建一个箭头函数,命名为变量 increment 的值
const object = {
  [increment]: () => {}
}

这将创建一个具有 属性 的对象。 属性 的名称由名为 increment 的变量中的字符串定义。如果 increment 的值为 "foo" 那么这将等同于:

const object = {
  foo: () => {}
}

那个 属性 的值是一个什么都不做的函数。

箭头函数具有这种形式

(...args) => { /* function body */ }

所以() => {}是一个没有参数的函数,函数体中也没有语句。