2016-07-20 11 views
0

変数を特定の型に明示的にキャストする一般的な方法はありますか?たとえば :jsの明示的な型キャスト

castがその魔法の鋳造法であると考えられる
var b = true; 
var str = ""; 
var n = 5; 
cast(someVariable, typeof b); //someVariable become a boolean 
cast(someVariable, typeof str); //someVariable become a string 
cast(someVariable, typeof n); //someVariable become an integer 

可能なすべてのタイプをswitchで列挙できることは明らかです。しかし、それを行うための[美しい]ネイティブな方法はありますか?

+1

あなたは 'ブール(someVariable)のようなものを使用することはできません、番号(someVariableを);'? –

+1

@MohitBhardwaj私はできますが、私は常に第二引数の型を知っているわけではありません。 –

答えて

2

あなたはマッピング使用してそれを行うことができます。

var castMap = { 
    "boolean" : Boolean 
}; 
var b = true; 
var someVariable = "true"; 
castMap[typeof(b)](someVariable) 
+0

ええ、それはスイッチオペレータよりも簡単です。ありがとうございます –

+0

これは良い答えではありません。 'Number(val)'はcのような型をキャストしません。 – SkyLeach

関連する問題