Form State Tracking (dirty, touched, pristine)
Explain the meaning of pristine/dirty and untouched/touched control states and how they drive UX decisions.
Every AbstractControl (whether a FormControl, FormGroup, or FormArray) tracks two independent pairs of boolean state beyond simple validity: pristine/dirty (has the value ever been changed from its initial value) and untouched/touched (has the control ever lost focus, i.e., been blurred, at least once). Interviewers ask about this because it's the foundation of a specific, extremely common UX pattern: showing validation error messages only after a user has actually interacted with a field, not immediately on page load.
It's like a museum exhibit's alarm only triggering once a visitor has actually touched an exhibit, rather than blaring the moment the museum opens its doors before anyone has walked in.