У меня есть функция, которая принимает в качестве параметров 2 экземпляра (пользовательского) класса. Но каждый из них может быть одним из нескольких классов, и мне нужно затем вызвать другую функцию в зависимости от их типа. Я хотел бы сделать что-то вроде этого:
function any_any(inst1, inst2) {
this[inst1.classname + "_" + inst2.classname] (inst1, inst2);
}
function Circle_Line(circle:Circle, line:Line) {
//treat this case
}
Должен ли я пойти и определить 'classname' в каждом из моих классов, или есть лучший способ получить имя класса экземпляра?
Я не знаю, как заставить typeof () возвращать что-либо кроме 'object' для пользовательского класса, возможно, это возможно?
РЕДАКТИРОВАТЬ: было бы неудобно использовать оператор instanceof, так как каждый класс может быть 1 из 6 (в настоящее время).