搜索

首页  >  问答  >  正文

javascript - js中括号问题

import {INCREMENT} from "./types"

const mutations = {
    [INCREMENT] (state) {
      state.count++;
    }
}

[INCREMENT] INCREMENT是变量直接使用不就行了吗,为什么还要加一个中括号呢?

高洛峰高洛峰2809 天前661

全部回复(2)我来回复

  • 黄舟

    黄舟2017-05-16 13:44:12

    [INCREMENT]是计算INCREMENT这个变量的值作为函数名,不使用中括号是把INCREMENT这个字符串作为函数名。

    const INCREMENT = 'myfunc';
    
    const mutations = {
        [INCREMENT] (state) {
          state.count++;
        }
    }
    

    相当于上面的代码,结果是

    const mutations = {
        myfunc(state) {
          state.count++;
        }
    }

    const INCREMENT = 'myfunc';
    const mutations = {
        INCREMENT (state) {
          state.count++;
        }
    }

    的结果是

    const mutations = {
        INCREMENT(state) {
          state.count++;
        }
    }

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:44:12

    这是 computed property names

    https://developer.mozilla.org...

    回复
    0
  • 取消回复