如何将switch语句作为函数参数传递给Javascript ES6? [英] How to pass switch statement as function argument in Javascript ES6?

查看:621
本文介绍了如何将switch语句作为函数参数传递给Javascript ES6?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在JavaScript中传递switch语句作为函数参数?

How do you pass a switch statement as a function argument in Javascript?

我想用Redux库这样做:

I want to do this with Redux library:

const agendaPointsReducer = function (state = initialState, action) {
  return Object.assign({}, state, switch (action.type) {
    case OPEN_AGENDA_POINT: {
      state.modal_is_open = true,
      state.point_id = action.id
    }
    case CLOSE_AGENDA_POINT: {
      state.modal_is_open = false
    }
  })
}

但是我收到意外的令牌错误。我知道这可能是在Coffeescript中,有没有办法在Javascript es6中执行此操作?

But I get an unexpected token error. I know this could be possible in Coffeescript, is there a way to do this in Javascript es6?

推荐答案

它成为这样的函数:

const agendaPointsReducer = function (state = initialState, action) {
  return Object.assign({}, state, (() => {
    switch (action.type) {
      case OPEN_AGENDA_POINT: {
        state.modal_is_open = true,
        state.point_id = action.id
      }
      case CLOSE_AGENDA_POINT: {
        state.modal_is_open = false
      }
    }
  })())
}

这篇关于如何将switch语句作为函数参数传递给Javascript ES6?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆