【问题标题】:Arguments before a colon冒号前的参数
【发布时间】:2017-10-15 23:38:24
【问题描述】:

我正在尝试将参数传递给 Javascript 中的函数。但是,参数 column 被解释为文字字符串,而不是函数的参数。这是因为冒号直接跟在 column 参数后面:

    update(column, selected) {
          var cols = {...this.props.columns, column: selected}
          this.props.dispatch(updateColumns({type: "UPDATE_COLUMNS", cols}))
    }

我尝试使用 arguments[0] 而不是 column 但后来我被告知 arguments 是严格模式下的保留字。知道如何将这个值作为参数而不是字符串读取吗?

【问题讨论】:

  • [column] 而不仅仅是 column - 它只适用于较新的浏览器。

标签: javascript reactjs syntax react-redux


【解决方案1】:

在现代 JavaScript 环境中,对象初始化器语法允许在属性初始化的左侧计算表达式:

update(column, selected) {
      var cols = {...this.props.columns, [column]: selected}
      this.props.dispatch(updateColumns({type: "UPDATE_COLUMNS", cols}))
}

方括号表示要对里面的表达式求值,并将结果作为属性名。

在较旧的环境中,您必须在单独的语句中执行此操作,但由于您已经在使用扩展语法,我猜您并不关心这一点。

【讨论】:

    猜你喜欢
    • 2016-06-01
    • 2014-11-24
    • 2012-04-13
    • 1970-01-01
    • 2019-07-24
    • 2011-11-20
    • 2012-01-21
    • 2023-03-08
    • 2015-10-18
    相关资源
    最近更新 更多