Рассматривали ли вы это?
if("foo" in bar){ ...
, где "foo" - это имя свойства, а bar - ссылка на объект в качестве интерфейса?
Вот оно в действии в реальномсценарий мира:
import flash.events.IEventDispatcher;
import flash.events.EventDispatcher;
var i:IEventDispatcher = new EventDispatcher();
if("dispatchEvent" in i){
trace(" I have dispatchEvent");
}