2016-07-20 9 views
0

Gibt es eine generische Möglichkeit, eine Variable explizit auf einen bestimmten Typ zu konvertieren? Zum Beispiel:Expliziter Typ Casting in Js

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 

wo ein cast soll, dass Magie Gießverfahren sein.

Das ist offensichtlich, dass ich in einer switch alle möglichen Arten nur aufzählen kann. Aber gibt es einen [schönen] einheimischen Weg, das zu tun?

+1

Können Sie nicht etwas wie 'Boolean (somevariable), Zahl (somevariable);'? –

+1

@MohitBhardwaj Ich kann, aber die Sache ist, ich kenne nicht immer die Art des zweiten Arguments. –

Antwort

2

Sie können es tun Mapping:

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

Ja, das sieht einfacher aus als Schalterbediener. Danke –

+0

Dies ist keine gute Antwort. 'Number (val)' wirft keine Typen wie in c. – SkyLeach