2017-08-04 131 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