e.g。
const AES_256_CBC = Symbol();
const encHeaders = {
AES_256_CBC: "foo",
}
这当然不起作用,因为密钥实际上是文字字符串"AES_256_CBC"
。
通常,您只需在将对象初始化为空哈希后设置属性,
var encHeaders = {};
encHeaders[AES_256_CBC] = "foo";
但是我不能这样做和让encHeaders
成为const
,我可以吗?
答案 0 :(得分:3)
但我无法做到这一点且
encHeaders
为const
,我可以吗?
是的,你可以。 const
对值没有影响,它只会影响绑定本身。也就是说,你不能为encHeaders
分配一个新值,但你当然可以改变值本身(如果它是可变的)。
答案 1 :(得分:1)
想出来。你可以用方括号来做:
const AES_256_CBC = Symbol();
const encHeaders = Object.freeze({
[AES_256_CBC]: "foo",
});
console.log(encHeaders[AES_256_CBC]); // foo
方括号表示法也是added in ES6。
更新:修改后加入Bergi's suggestion