Consider $interpolate() to be a specialized filter.
var interpolationFunction = $interpolate('{{object}} is {{attribute}}.');
var animal = {object: 'Lion', attribute: 'ferocious'};
console.log(interpolationFunction(animal));
// Alternatively.
console.log(interpolationFunction({object: 'Whale', attribute: 'majestic'}));
console.log(interpolationFunction({object: 'Fire', attribute: 'hot'}));
The result will display:
Lion is ferocious.
Whale is majestic.
Fire is hot.
View the output of $interpolate(STRING) as a pre-compiled template that can be rendered later with specified variables.
In comparison, the return from $filter(NAME) presents a function linked to a previously registered filter under the given name. For example, the "uppercase" filter transforms input into uppercase, the "number" filter formats numbers, the "date" filter arranges Date objects, and custom filters can even perform unique actions on their inputs.