如何使变量成为对象的键?
我正在从 definitions.js 导入常量,我需要将这些常量用作键:
import * as cons from '../scripts/definitions.js'
export default {
data () {
return {
cons: cons,
obj: {
cons.FILENAMEA: {},
cons.FILENAMEB: {
children: [
cons.CHILDFILENAME1,
cons.CHILDFILENAME2,
cons.CHILDFILENAME3
]
}
}
}
},
使用上面的代码,我得到错误:
Parsing error: Unexpected token, expected ","
因为 cons.FILENAMEA
中的点 (.)。这个怎么做??
请注意,我需要从外部文件中获取这些变量/常量。不可能只在同一个文件上声明它。
谢谢!
最佳答案
你可以使用 es6 computed properties :
obj: {
[cons.FILENAMEA]: {},
[cons.FILENAMEB]: {
children: [
cons.CHILDFILENAME1,
cons.CHILDFILENAME2,
cons.CHILDFILENAME3
]
}
}
括号内的表达式将被计算并用作属性名称
关于javascript - 从变量(从导入的 JS)中获取字符串作为对象中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61321370/