Инструмент для автоматического предупреждения об изменении типа в JavaScript? - PullRequest
2 голосов
/ 10 февраля 2012

У меня есть приложение на http://prettydiff.com/prettydiff.js. Я начал писать это приложение до того, как переводчики стали очень быстрыми и научились предпочитать строгую типизацию.Теперь я хочу обеспечить строгую типизацию в моем коде.Это приложение слишком большое и сложное, чтобы можно было легко убедиться в том, что приведение типов успешно исключено из ручных изменений.

Существует ли какой-либо инструмент или метод, позволяющий предупредить или обнаружить, когда произошло изменение типа для какой-либо данной ссылки?

1 Ответ

0 голосов
/ 24 февраля 2012

как насчет этого?

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
...