冒号前的参数



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

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

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

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

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

方括号表示应计算内部的表达式,并将结果用作属性名称。

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

最新更新