记:JavaScript中[ ]的另一种用法


今天学vuex的时候看别人写了一段这样的代码

const CHANGE_STATUS = 'CHANGE_STATUS'

const mutations = {
  [CHANGE_STATUS](state) {
    state.isShow = !state.isShow
  }
}

本人前端不精,搞不明白为什么[CHANGE_STATUS]能作为方法名,它不是一个数组吗,后来才发现[ ]在前端还有一种用法。

在Javascript中,方括号[ ]用于计算属性名,它允许您根据变量或表达式的值来定义对象的属性名。在上面的代码中 [CHANGE_STATUS] 被用作属性名是因为它是一个计算属性名的示例。具体来说, [CHANGE_STATUS] 的值将作为 mutations 的属性名,在这种情况下,CHANGE_STATUS 是一个常量,那么这个常量的值也就作为了 mutations 的一个属性名,而这个属性的值是一个方法。当我们改变 CHANGE_STATUS 的值, mutations 的属性也会变化。

当我们需要根据变量或动态生成的值来定义属性名时。这种写法可以帮助我们更灵活地操作对象的属性。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值