Interfejsy są potężnym narzędziem w programowaniu obiektowym. Wymuszają zgodność – klasa implementująca interfejs musi mieć zadeklarowane metody przez tenże interfejs wymagane. W językach kompilowanych, czy też nawet w typescriptcie, program zwyczajnie się nie skompiluje jeśli to wymaganie nie będzie spełnione. Jest to wspaniałe zabezpieczenie przed pominięciem implementacji – kod padnie jeszcze nim opuści maszyne developera….