I am pretty new in Angular and functional programming and I have a doubt about this syntax (that I think should be related to functional programming behavior):

```
courses$: Observable<{}[]>;
.................................
.................................
.................................
this.courses$.subscribe(console.log);

```

So **courses$** should be an array of **Observable** (what exactly means the **<{}[]>** syntax?)

The last line seems to print into the JavaScript console the subscribed content. But what exactly means this syntax? I know that **console.log()** is a function that take as argument the value that have to be print. Why in this case it is as argiment of the subscribe function and it doesn't end with ()?