Operator as reprezentuje operację kontrolowanego rzutowania typu. Wyrażenie:
object as class
zwraca odwołanie do tego samego obiektu object, ale o typie podanym przez class. W czasie wykonania programu, object musi być przypadkiem klasy class lub potomnej, lub też reprezentować wartość nil; w innym przypadku generowany jest wyjątek. Jeśli zadeklarowany typ obiektu jest ewidentnie niezwiązany z klasą, zgłaszany jest błąd kompilacji. Przykład:
with Sender as TButton do begin Caption := '&Ok'; OnClick := OkClick; end;
Często używanym, wygodnym sposobem wykorzystania operatora as jest zamknięcie go z wyrażeniem rzutującym typ, w nawiasach okrągłych. Przykładowo:
(Sender as TButton).Caption := '&Ok';