как насчет этого?
function setValue(varName, varValue) {
if (typeof(eval("varName")) != typeof(varValue)) {
console.log("Variable "+varName+" changed type.");
}
eval(varName+"=varValue;");
}
это обычай, но может выполняться строгая проверка типов
var n = 100;
setValue("n", 20); // updates to 20
setValue("n", "Hello"); // updates to "Hello", and prints the warning in console