switch(typeof target){ case "number": return Number(eval("(" + source + ")")); case "string": return String(source); case "boolean": return Boolean(eval("(" + source + ")")); } return eval("(" + source + ")");