Understanding Zones and Change Detection in Angular 2
You can think of zones as a way for the Javascript engine to create spaces to run code independently of other bits of code.
Josh Morony does a nice job explaining Zones and Change Detection in Angular 2. His articles have been a big help in my current project.