Слово self это просто договоренность. В js используется this. Но, чтобы Ваш код потом не забрасывали тапками, желательно использовать слово self.
Под self подразумевается ссылка на один из экземпляров, т.е. на конкретный объект, построенный посредством класса А. В первом случае он ссылается на a_I во втором на a_II. Ну так как Вы в классе пишите универсальный механизм для всех экземпляров (построенных на базе этого класса), то нужно иметь возможность создать условную переменную, которая бы указывала на конкретный будущий экземпляр…