2016-05-29 5 views
-1

文字列をシンボルに変換する方法を見つける必要があります。ことでした関数があった場合、それはこのようなものになるだろう:文字列をJavaScriptのシンボルに変換する方法

function toSymbol(variable) = { 
//... converts var to symbol 
}; 

//toSymbol("mySymbolString") would return: mySymbolString 

辞書内のシンボルのマッピングへの潜在的な文字列を格納よりも、この他を行うのいずれかの巧妙な方法はありますか?

+0

[このシンボルはJavaScriptで何を意味していますか?](http://stackoverflow.com/questions/9549780/what-dis-symbol-mean-in-javascript) – brianlmerritt

+1

Symbol、次のように:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Symbolまたは変数を意味しますか? –

+0

@ freedomn-m私はそれを第二の意味で意味していました。私はそれを変数にする必要があります。混乱を指摘してくれてありがとう。 – qeroqazo

答えて

0
function toSymbol(variable) { 
    return Symbol(variable); 
}; 

(仕様によってあなたは真でそれを維持する必要があります。 - メモ化を追加)を覚えておいてくださいtoSymbol("some_string") === toSymbol("some_string") // false

+1

代わりに['Symbol.for()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for)を使ってグローバルシンボルを使うことができます。 – GingerPlusPlus

0

を、私はそれを変数にする必要があります。

すべてのグローバル変数は、実際にwindow

などの財産です:

window.abc = 123 
abc == 123 

あなたは、文字列、例えば使用してプロパティを参照することができます:あなたが使用している場合

window["abc"] = 123 
window.abc == 123 
abc == 123 

を名前空間またはオブジェクトの場合は、同じです(例:

)。
My.Namespace["variable"]=value 
My.Namespace.variable == value 

これは、「変数」あなたの例を与える:

window["variable"] = value 

それはあなたがこれをどうしたいのか明確ではないのですが、あなたはそれ= nullまたは= {}、後で使用するために作ることができます。

関連する問題