2017-08-04 134 views
-1

只要常量的值等于映射中的键,是否可以使用常量而不是映射中的键?JS/ES6在map.get中引用常量

const myColor = 'dark'; 
const myMap = new Map(); 

myMap.set('dark', { 
    primary: '#000', 
}); 

const myValues: { 
    first: myMap.get(myColor).primary, 
} 
       ^This should output to 'dark' and access the primary key. 

回答

2

是否有可能使用常量,而不是一个键从地图只要常量的值等于从地图的关键?

是的,只要其值为===即可使用任何变量作为密钥。 const或没有constMap密钥没有影响。


而且,在你的myValues声明,它应该是这样的:

const myValues = { 
    first: myMap.get(myColor).primary, 
} 

在您使用=而不是:

+0

好吧,这一定不是我的问题,然后,我得到一个意想不到的标记错误,在myColor的开幕式上。 – stephenway

+0

@Potter - 注意,我在'myValues'声明中添加了关于语法错误的注释。 – jfriend00

+0

啊,是的'='是我失踪的!感谢你的全力帮助。 – stephenway

1

是的,你唯一的问题是你的语法是关闭的。

const myColor = 'dark'; 
const myMap = new Map(); 

myMap.set('dark', { 
    primary: '#000', 
}); 

const myValues = { 
    first: myMap.get(myColor).primary, 
} 
+0

谢谢,错过了输入十六进制代码的字符串。更新了问题。 – stephenway