We have already briefly described the change detection mechanism of the framework. We said that compared with AngularJS, where it runs in the context of the scope, in Angular, it runs in the context of the individual components. Another concept we mentioned is the zones, which basically intercept all the asynchronous calls that we make using the browser APIs and provide execution context for the change detection mechanism of the framework. Zones fix the annoying problem that we have in AngularJS, where when we use APIs outside of Angular, we needed to explicitly invoke the digest loop.
In Chapter 2, Get Going with Angular and Chapter 3, The Building Blocks of an Angular Application, we discussed that the code that performs change detection over our components is being generated, either runtime (just-in-time) or as part of our build...