A
ANGULAR
How does Angular Change Detection work by default vs OnPush?
By default (`ChangeDetectionStrategy.Default`), Angular checks every binding in the entire component tree from top to bottom on every asynchronous browser event (HTTP, clicks, timers) via Zone.js. With `ChangeDetectionStrategy.OnPush`, Angular skips re-evaluating the component unless: 1) `@Input()` reference identity changes, 2) an event originating within the component fires, 3) an AsyncPipe emits, or 4) `ChangeDetectorRef.markForCheck()` is called.
◦ change detection
