Сценарий: нестатический метод T () в классе R объявляет переменную t, присваивая ее возвращаемому значению нестатического метода S () того же класса R. Метод S () модифицирует объект типаR. Ни один из методов не получает параметров.Переменная t не используется в методе T (), поэтому IDE помечает t как неиспользуемый.Программист, выполняющий очистку по методу T (), видел переменную t и, поскольку она не используется, программист удаляет ее;удаляя также модификации, которые делают S () к объекту.Тогда код сломался.Вопрос в том, почему язык допускает такое поведение?как избежать подобной практики (исключая предоставление рекомендаций программистам)?
class R {
var a
function T(){
// call to S() modify the object, but t is not used so the programmer delete it
var t = S()
//function end without using a
}
//Modify the object
function S(){
this.a = 10
}
}