我想創建一個字典將字符串映射到符號,以便我可以爲對象分配一個始終指向唯一符號的唯一「t」屬性。是否可以提取符號的內容?
我無法弄清楚如何從符號中取出符號內的原始字符串,以便我可以查找符號表來檢查符號的有效性。
這裏的示例代碼:
var t = {
'Box': Symbol("Box")
};
var Box = (function() {
var Box = function(x) {
this.t = t['Box'];
this.x = x;
};
return Box;
})();
var q = new Box(2);
console.log(q);
console.log(q.t);
我想知道是否有可能得到字符串「盒子」背出象徵符號(盒),而無需使用正則表達式或創建一個新的結構,包含字符串「Box」和符號「Box」(這可能是最好的第二種解決方案)。
你的意思是由「*,這樣我可以查找符號表,檢查符號的有效性*」,以及爲什麼你需要的符號對這樣的描述?整個符號點不是使用字符串比較,而是依賴於符號的標識。 – Bergi
假設我使用符號標識對象;我不能使用Symbol作爲我的字典的關鍵。即使我知道foo.t是符號(Box),我也無法檢查它是表1,表2,表3中的符號(Box)還是來自恰好具有Box的外部腳本中的某個表。爲了解決這個問題,我需要得到符號字符串,並通過查找「盒子」並給我我的符號(盒子)的字符串查找我的具體符號表格,並且我可以將此符號與此特定符號(盒子) 。 – Dmitry
當然,您可以使用符號作爲字典的關鍵字 - 屬性鍵不必是字符串,它們也可以是符號。或者,您可以使用數組,設置或映射您的表。正如我所說的,使用字符串進行查找會失敗符號的全部用途,您可以立即將字符串存儲在'.t'中。如果兩個模塊使用相同的符號描述,它們會發生碰撞。 – Bergi