Let's say I have functions to work with cats and I create a namespace for it because there are lots of other functions related to dogs.
As you see, to access the cat list I must use the complete name including the namespaces like this : Animal.Cat.list. You can guess that it will get pretty long as the code grows.
Let's make this call shorter.
Now, I only have to write c.list because c is an alias of the Animal.Cat namespace. Thanks to self-invocation!
You probably noticed that the code is longer but this is just an example. In a real situation, this technique would make your code much clearer.
Don't forget to subscribe to my newsletter!