我正在尝试将参数传递给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}))
}
方括号表示应计算内部的表达式,并将结果用作属性名称。
在较旧的环境中,您必须在单独的语句中执行此操作,但由于您已经在使用扩展语法,我猜您并不关心这一点。