Typescript anonymous functions

Author: Dawid Adach

Probably you already know that in JavaScript you can define functions like the one below:

// Named function
function add(x, y) {
    return x + y;

// Call named function

which are so-called Named functions. You can also use Anonymous functions:

// Anonymous function
let myAdd = function(x, y) { return x + y; };

// You can call it like this

// But definitely more common
console.log ((function(x , y) {
  return x + y;

An anonymous function is a function that was declared without any named identifier to refer to it. As such, an anonymous function is usually not accessible after its initial creation.

One common use for Anonymous functions is as arguments to other functions. Another common use is as a closure, for which see also the Closures chapter. Below shows its use as an argument to other functions:

setTimeout(function() {
}, 1000);

Or call it with parameter:

(function(message) {

So basically, you want to use Anonymous functions in all places where you have to use a function as an argument to other function or as a closure (we will learn about closures in later lessons).

In those cases you use the function only once, therefore you don't want to name it (like you would for a Named function) just to use it in a single line.

Anonymous functions might look confusing at the start, however, once you start using them you will find them very handy. But there is something else, another type of the function called an arrow function which we will learn about in the next lesson.

Previous lesson Next lesson

Spread the word:
Do you need help? Use our support forum

About the author

Dawid Adach
For more than 5 years Dawid worked as an IT Consultant specializing in SOA/EAI/ESB in the banking domain. He gained experience working in countries like Netherlands, Belgium, Poland and India developing enterprise-class systems for the most prestigious companies. Since co-founding mdbootstrap.com & brandflow.net in 2016 he has been using and teaching technologies such as Angular, TypeScript, PHP, AJAX, Mongo, SQL, Hadoop Stack, Virtualization, Automation and many others...